--- a/commonutilities/externalutility/externalutility.pro Fri Jun 11 13:38:23 2010 +0300
+++ b/commonutilities/externalutility/externalutility.pro Wed Jun 23 18:12:48 2010 +0300
@@ -35,4 +35,12 @@
HEADERS += inc/glxexternalutility.h
SOURCES += src/glxexternalutility.cpp
-DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
\ No newline at end of file
+DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
+defBlock = \
+"$${LITERAL_HASH}if defined(EABI)" \
+"DEFFILE ../eabi/glxexternalutility.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bwins/glxexternalutility.def" \
+ "$${LITERAL_HASH}endif"
+
+MMP_RULES += defBlock
--- a/commonutilities/imagedecoderwrapper/imagedecoderwrapper.pro Fri Jun 11 13:38:23 2010 +0300
+++ b/commonutilities/imagedecoderwrapper/imagedecoderwrapper.pro Wed Jun 23 18:12:48 2010 +0300
@@ -25,7 +25,8 @@
LIBS += -limageconversion.dll \
-lbitmaptransforms.dll \
-liclextjpegapi.dll \
- -lfbscli.dll
+ -lfbscli.dll \
+ -lefsrv.dll
DEFINES += BUILD_IMAGEWRAPPER
symbian: {
@@ -40,4 +41,13 @@
HEADERS += inc/glximagedecoder.h inc/glximagedecoderwrapper.h
SOURCES += src/glximagedecoder.cpp src/glximagedecoderwrapper.cpp
-DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
\ No newline at end of file
+DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
+
+defBlock = \
+"$${LITERAL_HASH}if defined(EABI)" \
+"DEFFILE ../eabi/glximagedecoderwrapper.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bwins/glximagedecoderwrapper.def" \
+ "$${LITERAL_HASH}endif"
+
+MMP_RULES += defBlock
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/data/detailsview.docml Wed Jun 23 18:12:48 2010 +0300
@@ -0,0 +1,326 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+ <widget name="view" type="HbView">
+ <widget name="content" role="HbView:widget" type="HbWidget">
+ <widget name="MainWidget" type="HbWidget">
+ <widget name="ImageIcon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <icon iconName="qtg_small_smiley_very_cool" name="icon"/>
+ <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="31.95un" type="PREFERRED" width="31.95un"/>
+ <sizehint height="31.95un" type="MINIMUM" width="31.95un"/>
+ <sizehint height="31.95un" type="MAXIMUM" width="31.95un"/>
+ </widget>
+ <widget name="FavIcon" type="HbPushButton">
+ <real name="z" value="1"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <real name="opacity" value="0.6"/>
+ <sizehint type="MINIMUM" width="5un"/>
+ <sizehint height="5un" type="MAXIMUM" width="5un"/>
+ <string name="text"/>
+ </widget>
+ <widget name="ImageName" plugin="detailsnamelabelplugin" type="GlxDetailsNameLabel"/>
+ <widget name="container" type="HbWidget">
+ <widget name="DateContainer" type="HbWidget">
+ <widget name="DateText" type="HbLabel">
+ <string name="plainText"/>
+ </widget>
+ <real name="z" value="0"/>
+ <sizehint height="11.9403un" type="PREFERRED" width="23.8806un"/>
+ <layout orientation="Horizontal" type="linear">
+ <linearitem itemname="DateText"/>
+ </layout>
+ </widget>
+ <widget name="TimeContainer" type="HbWidget">
+ <widget name="TimeText" type="HbLabel">
+ <string name="plainText"/>
+ </widget>
+ <real name="z" value="0"/>
+ <sizehint height="11.9403un" type="PREFERRED" width="23.8806un"/>
+ <layout orientation="Horizontal" type="linear">
+ <linearitem itemname="TimeText"/>
+ </layout>
+ </widget>
+ <widget name="SizeContainer" type="HbWidget">
+ <widget name="SizeText" type="HbLabel">
+ <string name="plainText"/>
+ </widget>
+ <real name="z" value="0"/>
+ <sizehint height="11.9403un" type="PREFERRED" width="23.8806un"/>
+ <layout orientation="Horizontal" type="linear">
+ <linearitem itemname="SizeText"/>
+ </layout>
+ </widget>
+ <widget name="DescLabelContainer" type="HbWidget">
+ <widget name="Descriptions" type="HbLabel">
+ <string name="plainText"/>
+ </widget>
+ <real name="z" value="0"/>
+ <sizehint height="11.9403un" type="PREFERRED" width="23.8806un"/>
+ <layout orientation="Horizontal" type="linear">
+ <linearitem itemname="Descriptions"/>
+ </layout>
+ </widget>
+ <widget name="DescTextContainer" type="HbWidget">
+ <widget name="DescriptionsText" plugin="detailsdescriptioneditplugin" type="GlxDetailsDescriptionEdit">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ </widget>
+ <real name="z" value="0"/>
+ <sizehint height="11.9403un" type="PREFERRED" width="23.8806un"/>
+ <layout orientation="Horizontal" type="linear">
+ <linearitem itemname="DescriptionsText"/>
+ </layout>
+ </widget>
+ <real name="z" value="0"/>
+ <sizehint height="23.8806un" type="PREFERRED" width="11.9403un"/>
+ <layout orientation="Vertical" type="linear">
+ <linearitem itemname="DateContainer"/>
+ <linearitem itemname="TimeContainer"/>
+ <linearitem itemname="SizeContainer"/>
+ <linearitem itemname="DescLabelContainer"/>
+ <linearitem itemname="DescTextContainer"/>
+ </layout>
+ </widget>
+ <real name="z" value="0"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="expr(var(hb-param-screen-height) - (2*var(hb-param-margin-gene-screen) )-var(hb-param-widget-chrome-height))" type="FIXED" width="expr(var(hb-param-screen-width) -(2*var(hb-param-margin-gene-screen) ))"/>
+ <sizehint height="expr(var(hb-param-screen-height) - (2*var(hb-param-margin-gene-screen) )-var(hb-param-widget-chrome-height))" type="MINIMUM" width="expr(var(hb-param-screen-width) -(2*var(hb-param-margin-gene-screen) ))"/>
+ <sizehint height="expr(var(hb-param-screen-height) - (2*var(hb-param-margin-gene-screen) )-var(hb-param-widget-chrome-height))" type="MAXIMUM" width="expr(var(hb-param-screen-width) -(2*var(hb-param-margin-gene-screen) ))"/>
+ <layout type="anchor">
+ <anchoritem dst="ImageIcon" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="ImageIcon" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="FavIcon" dstEdge="TOP" spacing="29.85075un" src="" srcEdge="TOP"/>
+ <anchoritem dst="FavIcon" dstEdge="RIGHT" spacing="-10.85075un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="ImageName" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="ImageName" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="container" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="container" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ </layout>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="MainWidget" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-screen) )" src="" srcEdge="LEFT"/>
+ <anchoritem dst="MainWidget" dstEdge="TOP" spacing="expr(var(hb-param-margin-gene-screen) )" src="" srcEdge="TOP"/>
+ </layout>
+ </widget>
+ <string name="title" value="View"/>
+ </widget>
+ <section name="portrait">
+ <widget name="DescriptionsText" plugin="detailsdescriptioneditplugin" type="GlxDetailsDescriptionEdit">
+ <sizehint height="10.5un" type="PREFERRED" width="48un"/>
+ <sizehint height="10.5un" type="MAXIMUM" width="48un"/>
+ <sizehint height="10.5un" type="MINIMUM" width="48un"/>
+ </widget>
+ <widget name="DateContainer" type="HbWidget">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="7.5un" type="MAXIMUM" width="48.38806un"/>
+ <sizehint height="5un" type="FIXED" width="48.38806un"/>
+ <sizehint height="5un" type="MINIMUM" width="48.38806un"/>
+ <layout orientation="Horizontal" spacing="3px" type="linear">
+ <contentsmargins bottom="3px" left="3px" right="3px" top="3px"/>
+ <linearitem itemname="DateText"/>
+ </layout>
+ </widget>
+ <widget name="content" role="HbView:widget" type="HbWidget">
+ <layout type="anchor">
+ <anchoritem dst="MainWidget" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-screen) )" src="" srcEdge="LEFT"/>
+ <anchoritem dst="MainWidget" dstEdge="TOP" spacing="expr(var(hb-param-margin-gene-screen) + var(hb-param-widget-chrome-height) + var(hb-param-widget-chrome-height) /3)" src="" srcEdge="TOP"/>
+ </layout>
+ </widget>
+ <widget name="DescLabelContainer" type="HbWidget">
+ <sizehint height="4.5un" type="MAXIMUM" width="48.38806un"/>
+ <sizehint height="4.5un" type="MINIMUM" width="48.38806un"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="4.5un" type="FIXED" width="48.38806un"/>
+ <layout orientation="Horizontal" spacing="3px" type="linear">
+ <contentsmargins bottom="3px" left="3px" right="3px" top="3px"/>
+ <linearitem itemname="Descriptions"/>
+ </layout>
+ </widget>
+ <widget name="DateText" type="HbLabel">
+ <string name="plainText"/>
+ </widget>
+ <widget name="TimeContainer" type="HbWidget">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="5un" type="MAXIMUM" width="48.38806un"/>
+ <sizehint height="5un" type="FIXED" width="48.38806un"/>
+ <sizehint height="5un" type="MINIMUM" width="48.38806un"/>
+ <layout orientation="Horizontal" spacing="3px" type="linear">
+ <contentsmargins bottom="3px" left="3px" right="3px" top="3px"/>
+ <linearitem itemname="TimeText"/>
+ </layout>
+ </widget>
+ <widget name="container" type="HbWidget">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="37.82239un" type="MAXIMUM" width="49.73134un"/>
+ <sizehint height="37.82239un" type="FIXED" width="49.73134un"/>
+ <sizehint height="37.82239un" type="MINIMUM" width="49.73134un"/>
+ <layout orientation="Vertical" spacing="0un" type="linear">
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <linearitem itemname="DateContainer"/>
+ <linearitem itemname="TimeContainer"/>
+ <linearitem itemname="SizeContainer"/>
+ <linearitem itemname="DescLabelContainer"/>
+ <linearitem itemname="DescTextContainer"/>
+ </layout>
+ </widget>
+ <widget name="SizeContainer" type="HbWidget">
+ <sizehint height="7.5un" type="MINIMUM" width="48.38806un"/>
+ <sizehint height="5un" type="MAXIMUM" width="48.38806un"/>
+ <sizehint height="7.5un" type="FIXED" width="48.38806un"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <layout orientation="Horizontal" spacing="3px" type="linear">
+ <contentsmargins bottom="3px" left="3px" right="3px" top="3px"/>
+ <linearitem itemname="SizeText"/>
+ </layout>
+ </widget>
+ <widget name="MainWidget" type="HbWidget">
+ <layout type="anchor">
+ <anchoritem dst="ImageIcon" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="ImageIcon" dstEdge="CENTERH" spacing="0un" src="" srcEdge="CENTERH"/>
+ <anchoritem dst="FavIcon" dstEdge="RIGHT" spacing="0un" src="ImageIcon" srcEdge="RIGHT"/>
+ <anchoritem dst="FavIcon" dstEdge="BOTTOM" spacing="0un" src="ImageIcon" srcEdge="BOTTOM"/>
+ <anchoritem dst="ImageName" dstEdge="LEFT" spacing="0.44776un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="ImageName" dstEdge="TOP" spacing="expr(31.95un +var(hb-param-margin-gene-middle-vertical))" src="" srcEdge="TOP"/>
+ <anchoritem dst="container" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="container" dstEdge="TOP" spacing="expr(31.95un +var(hb-param-margin-gene-middle-vertical) + var(hb-param-margin-gene-bottom) + 5un)" src="" srcEdge="TOP"/>
+ </layout>
+ </widget>
+ <widget name="DescTextContainer" type="HbWidget">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="14un" type="MAXIMUM" width="48.38806un"/>
+ <sizehint height="14un" type="FIXED" width="48.38806un"/>
+ <sizehint height="7.5un" type="MINIMUM" width="48.38806un"/>
+ <layout orientation="Horizontal" spacing="3px" type="linear">
+ <contentsmargins bottom="3px" left="3px" right="3px" top="3px"/>
+ <linearitem itemname="DescriptionsText"/>
+ </layout>
+ </widget>
+ <widget name="ImageName" plugin="detailsnamelabelplugin" type="GlxDetailsNameLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <real name="z" value="2"/>
+ <sizehint height="6un" type="FIXED" width="48.50746un"/>
+ <sizehint height="6un" type="MINIMUM" width="48.50746un"/>
+ <sizehint height="7un" type="MAXIMUM" width="48.50746un"/>
+ <string name="plainText"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ </widget>
+ <widget name="FavIcon" type="HbPushButton">
+ <sizehint type="PREFERRED" width="expr(var(hb-param-graphic-size-primary-small) + 2un)"/>
+ <sizehint type="MINIMUM" width="expr(var(hb-param-graphic-size-primary-small) + 2un)"/>
+ <sizehint height="5un" type="MAXIMUM" width="expr(var(hb-param-graphic-size-primary-small) + 2un)"/>
+ <real name="opacity" value="0.6"/>
+ </widget>
+ <widget name="Descriptions" type="HbLabel">
+ <string name="plainText" value="Description:"/>
+ </widget>
+ </section>
+ <section name="landscape">
+ <widget name="DescriptionsText" plugin="detailsdescriptioneditplugin" type="GlxDetailsDescriptionEdit">
+ <sizehint height="12un" type="MINIMUM" width="56un"/>
+ <sizehint height="12un" type="PREFERRED" width="56un"/>
+ <sizehint height="12un" type="MAXIMUM" width="56un"/>
+ </widget>
+ <widget name="DateContainer" type="HbWidget">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="5un" type="FIXED" width="expr(var(hb-param-screen-width) - (2*var(hb-param-margin-gene-screen)) -31.95un -var(hb-param-margin-gene-left) )"/>
+ <sizehint height="5un" type="MAXIMUM" width="expr(var(hb-param-screen-width) - (2*var(hb-param-margin-gene-screen)) -31.95un -var(hb-param-margin-gene-left) )"/>
+ <sizehint height="5un" type="MINIMUM" width="expr(var(hb-param-screen-width) - (2*var(hb-param-margin-gene-screen)) -31.95un -var(hb-param-margin-gene-left) )"/>
+ </widget>
+ <widget name="content" role="HbView:widget" type="HbWidget">
+ <layout type="anchor">
+ <anchoritem dst="MainWidget" dstEdge="LEFT" spacing="expr(var(hb-param-margin-gene-screen) )" src="" srcEdge="LEFT"/>
+ <anchoritem dst="MainWidget" dstEdge="TOP" spacing="expr(var(hb-param-margin-gene-screen) + var(hb-param-widget-chrome-height))" src="" srcEdge="TOP"/>
+ </layout>
+ </widget>
+ <widget name="DescLabelContainer" type="HbWidget">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="4.5un" type="MINIMUM" width="57.57239un"/>
+ <sizehint height="4.5un" type="FIXED" width="57.57239un"/>
+ <sizehint height="4.5un" type="MAXIMUM" width="57.57239un"/>
+ </widget>
+ <widget name="DateText" type="HbLabel">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint type="MINIMUM" width="55un"/>
+ <sizehint type="MAXIMUM" width="55un"/>
+ </widget>
+ <widget name="TimeContainer" type="HbWidget">
+ <sizehint height="5un" type="MINIMUM" width="57.57239un"/>
+ <sizehint height="5un" type="FIXED" width="57.57239un"/>
+ <sizehint height="5un" type="MAXIMUM" width="57.57239un"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ </widget>
+ <widget name="SizeText" type="HbLabel">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="3.28358un" type="MINIMUM" width="55un"/>
+ <sizehint height="3.28358un" type="MAXIMUM" width="55un"/>
+ </widget>
+ <widget name="container" type="HbWidget">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="49.73134un" type="MINIMUM" width="57.57239un"/>
+ <sizehint height="49.73134un" type="FIXED" width="57.57239un"/>
+ <sizehint type="MAXIMUM" width="57.57239un"/>
+ <layout orientation="Vertical" type="linear">
+ <contentsmargins bottom="1un" left="0un" right="0un" top="0un"/>
+ <linearitem itemname="DateContainer"/>
+ <linearitem itemname="TimeContainer"/>
+ <linearitem itemname="SizeContainer"/>
+ <linearitem itemname="DescLabelContainer"/>
+ <linearitem itemname="DescTextContainer"/>
+ </layout>
+ </widget>
+ <widget name="SizeContainer" type="HbWidget">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="5un" type="MINIMUM" width="57.57239un"/>
+ <sizehint height="5un" type="FIXED" width="57.57239un"/>
+ <sizehint height="5un" type="MAXIMUM" width="57.57239un"/>
+ </widget>
+ <widget name="MainWidget" type="HbWidget">
+ <layout type="anchor">
+ <anchoritem dst="ImageIcon" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="ImageIcon" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="FavIcon" dstEdge="RIGHT" spacing="0un" src="ImageIcon" srcEdge="RIGHT"/>
+ <anchoritem dst="FavIcon" dstEdge="BOTTOM" spacing="0un" src="ImageIcon" srcEdge="BOTTOM"/>
+ <anchoritem dst="ImageName" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="ImageName" dstEdge="TOP" spacing="expr(31.95un +var(hb-param-margin-gene-middle-vertical))" src="" srcEdge="TOP"/>
+ <anchoritem dst="container" dstEdge="LEFT" spacing="expr(31.95un +var(hb-param-margin-gene-left))" src="" srcEdge="LEFT"/>
+ <anchoritem dst="container" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ </layout>
+ </widget>
+ <widget name="TimeText" type="HbLabel">
+ <sizehint type="FIXED" width="55un"/>
+ <sizehint type="MINIMUM" width="55un"/>
+ <sizehint height="3.28358un" type="MAXIMUM" width="55un"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ </widget>
+ <widget name="ImageName" plugin="detailsnamelabelplugin" type="GlxDetailsNameLabel">
+ <real name="z" value="2"/>
+ <sizehint height="7.5un" type="PREFERRED" width="31.95un"/>
+ <sizehint height="7.5un" type="MINIMUM" width="31.95un"/>
+ <sizehint height="7.5un" type="MAXIMUM" width="31.95un"/>
+ </widget>
+ <widget name="DescTextContainer" type="HbWidget">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint type="MAXIMUM" width="57.57239un"/>
+ <sizehint height="12un" type="FIXED" width="57.57239un"/>
+ <sizehint height="12un" type="MINIMUM" width="57.57239un"/>
+ <layout orientation="Horizontal" spacing="0un" type="linear">
+ <contentsmargins bottom="1.34328un" left="0un" right="1.34328un" top="0un"/>
+ <linearitem itemname="DescriptionsText"/>
+ </layout>
+ </widget>
+ <widget name="FavIcon" type="HbPushButton">
+ <sizehint type="PREFERRED" width="expr(var(hb-param-graphic-size-primary-small) + 2un)"/>
+ <sizehint type="MINIMUM" width="expr(var(hb-param-graphic-size-primary-small) + 2un)"/>
+ <sizehint height="5un" type="MAXIMUM" width="expr(var(hb-param-graphic-size-primary-small) + 2un)"/>
+ </widget>
+ <widget name="Descriptions" type="HbLabel">
+ <string name="plainText" value="Descriptions:"/>
+ </widget>
+ </section>
+ <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"/>
+ </metadata>
+</hbdocument>
--- a/data/listview.docml Fri Jun 11 13:38:23 2010 +0300
+++ b/data/listview.docml Wed Jun 23 18:12:48 2010 +0300
@@ -17,13 +17,13 @@
</widget>
<layout type="anchor">
<anchoritem dst="listview" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
- <anchoritem dst="listview" dstEdge="TOP" spacing="9un" src="" srcEdge="TOP"/>
+ <anchoritem dst="listview" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
<anchoritem dst="listview" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
- <anchoritem dst="listview" dstEdge="BOTTOM" spacing="-9un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="listview" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
</layout>
</widget>
<string name="title" value="Photos"/>
- <bool name="contentFullScreen" value="TRUE"/>
+ <bool name="contentFullScreen" value="FALSE"/>
</widget>
<metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
<uistate name="Common ui state" sections="#common"/>
--- a/data/photos.css Fri Jun 11 13:38:23 2010 +0300
+++ b/data/photos.css Wed Jun 23 18:12:48 2010 +0300
@@ -55,7 +55,7 @@
}
HbListViewItem::multiselection-toucharea{
- fixed-width: 90.0un;
+ fixed-width: 0.0un;
}
HbListViewItem::icon-1{
--- a/data/qgn_menu_ovi_photos.svg Fri Jun 11 13:38:23 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="44px" version="1.1" viewBox="0 0 44 44" width="44px" x="0px" y="0px">
-<g>
-<path d="M40.999,20.516c0-1.516-1.317-2.365-2.217-2.45l-0.01-11.99c0-0.552-0.448-1-1-1L6.007,5.089 c-0.476,0-0.999,0.396-0.999,0.999v26.843c0,0.555,0.523,1.005,1.009,1.005c0,0,6.411-0.005,7.088-0.005 c0,1.258-0.042,1.813,0.771,2.41c0,1.004,0.577,2.659,2.683,2.659c0.025,0,21.679-0.003,21.679-0.003 c1.669,0,2.761-1.152,2.761-2.481C40.999,36.494,40.999,20.534,40.999,20.516z" fill-opacity="0.2" stroke-opacity="0.2"/>
-<path d="M6.016,30.777l0.001,2.152l8.098-0.003v1.964c0,0.414,0.337,0.75,0.752,0.75h0.018v0.798 c0,0-0.064,1.555,1.754,1.555h21.6c1.819,0,1.754-1.555,1.754-1.555v-3.159L6.016,30.777z" fill-opacity="0.5" stroke-opacity="0.5"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="21.8945" x2="21.8945" y1="5.3208" y2="64.1475">
-<stop offset="0" style="stop-color:#FFFFFF"/>
-<stop offset="1" style="stop-color:#B2B2B2"/>
-</linearGradient>
-<polygon fill="url(#SVGID_1_)" points="37.782,31.912 6.017,31.924 6.007,6.012 37.772,6 "/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="21.8926" x2="21.8926" y1="19.2339" y2="4.6529">
-<stop offset="0" style="stop-color:#DEEEF9"/>
-<stop offset="0.1953" style="stop-color:#C2E7F8"/>
-<stop offset="0.6144" style="stop-color:#7AD6F5"/>
-<stop offset="1" style="stop-color:#33C5F3"/>
-</linearGradient>
-<polygon fill="url(#SVGID_2_)" points="35.66,29.276 8.135,29.286 8.125,8.648 35.654,8.64 "/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="23.3984" x2="23.3984" y1="8.5083" y2="35.9947">
-<stop offset="0" style="stop-color:#79CD19"/>
-<stop offset="1" style="stop-color:#1B6332"/>
-</linearGradient>
-<polygon fill="url(#SVGID_3_)" points="29.477,11.339 11.137,29.282 35.66,29.276 35.658,17.496 "/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="18.7227" x2="18.7227" y1="16.8872" y2="38.1738">
-<stop offset="0" style="stop-color:#79CD19"/>
-<stop offset="1" style="stop-color:#1B6332"/>
-</linearGradient>
-<polygon fill="url(#SVGID_4_)" points="13.434,13.741 29.311,29.292 8.135,29.286 8.137,19.021 "/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="27.438" x2="27.438" y1="15.6304" y2="42.5308">
-<stop offset="0" style="stop-color:#E6E6F5"/>
-<stop offset="1" style="stop-color:#333342"/>
-</linearGradient>
-<path d="M38.238,18.032h-21.6c-1.818,0-1.754,1.553-1.754,1.553v15.848c0,0-0.064,1.555,1.754,1.555h21.6 c1.819,0,1.754-1.555,1.754-1.555V19.585C39.992,19.585,40.057,18.032,38.238,18.032z" fill="url(#SVGID_5_)"/>
-<path d="M39.298,19.565c0.004-0.019-0.016-0.288-0.136-0.469c-0.128-0.17-0.259-0.355-0.925-0.373 h-21.6c-0.667,0.018-0.798,0.203-0.926,0.373c-0.098,0.143-0.129,0.346-0.135,0.43v13.848l23.721-11.025v-2.765 C39.296,19.584,39.296,19.577,39.298,19.565z" fill="#FFFFFF" fill-opacity="0.15" stroke-opacity="0.15"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_6_" x1="27.3267" x2="27.3267" y1="37.043" y2="24.6615">
-<stop offset="0" style="stop-color:#5A5A6A"/>
-<stop offset="0.5477" style="stop-color:#A4A4AD"/>
-<stop offset="1" style="stop-color:#DDDDE1"/>
-</linearGradient>
-<path d="M39.771,18.763c-0.221-0.371-0.658-0.73-1.533-0.73h-21.6c-1.818,0-1.754,1.553-1.754,1.553v15.848 c0,0-0.018,0.452,0.249,0.868l0.554-0.422c-0.076-0.139-0.104-0.312-0.109-0.388V19.526c0.006-0.084,0.037-0.287,0.135-0.43 c0.128-0.17,0.259-0.355,0.926-0.373h21.6c0.605,0.016,0.768,0.17,0.889,0.325L39.771,18.763z" fill="url(#SVGID_6_)"/>
-<path d="M22.302,28.112c0-3.822,3.104-6.919,6.937-6.919l0,0c3.834,0,6.939,3.097,6.939,6.919l0,0 c0,3.821-3.105,6.917-6.939,6.917l0,0C25.407,35.029,22.302,31.934,22.302,28.112L22.302,28.112z M22.769,28.112 c0.008,3.563,2.898,6.443,6.47,6.449l0,0c3.573-0.006,6.464-2.887,6.47-6.449l0,0c-0.006-3.563-2.896-6.444-6.47-6.451l0,0 C25.667,21.668,22.777,24.549,22.769,28.112L22.769,28.112z" fill="#FFFFFF" fill-opacity="0.25" stroke-opacity="0.25"/>
-<path d="M34.365,28.112c0,2.822-2.293,5.109-5.124,5.109c-2.835,0-5.126-2.287-5.126-5.109 c0-2.823,2.291-5.109,5.126-5.109C32.072,23.003,34.365,25.289,34.365,28.112z" fill="#FFFFFF" fill-opacity="0.25" stroke-opacity="0.25"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_7_" x1="29.2407" x2="29.2407" y1="33.0615" y2="25.352">
-<stop offset="0" style="stop-color:#404040"/>
-<stop offset="1" style="stop-color:#000000"/>
-</linearGradient>
-<ellipse cx="29.241" cy="28.112" fill="url(#SVGID_7_)" rx="4.296" ry="4.282"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_8_" x1="29.2407" x2="29.2407" y1="35.3877" y2="20.1111">
-<stop offset="0" style="stop-color:#676767"/>
-<stop offset="1" style="stop-color:#000000"/>
-</linearGradient>
-<path d="M29.241,23.828c-2.371,0-4.296,1.919-4.296,4.284c0,2.364,1.925,4.282,4.296,4.282 c2.373,0,4.297-1.918,4.297-4.282C33.538,25.747,31.614,23.828,29.241,23.828z M29.241,31.924c-2.105,0-3.82-1.708-3.82-3.812 c0-2.1,1.715-3.809,3.82-3.809c2.106,0,3.82,1.709,3.82,3.809C33.061,30.216,31.347,31.924,29.241,31.924z" fill="url(#SVGID_8_)"/>
-<path d="M31.326,28.109c0,1.149-0.936,2.078-2.085,2.078c-1.15,0-2.084-0.929-2.084-2.078c0-1.145,0.934-2.075,2.084-2.075 C30.39,26.034,31.326,26.965,31.326,28.109z"/>
-<circle cx="25.197" cy="21.106" fill-opacity="0.2" r="1.608" stroke-opacity="0.2"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_9_" x1="25.1968" x2="25.1968" y1="23.4219" y2="20.0526">
-<stop offset="0" style="stop-color:#676767"/>
-<stop offset="1" style="stop-color:#000000"/>
-</linearGradient>
-<circle cx="25.197" cy="21.106" fill="url(#SVGID_9_)" r="1.313"/>
-<rect fill="#F2F2F2" height="2.451" width="4.916" x="33.474" y="19.462"/>
-<path d="M32.746,26.63c-0.583-1.363-1.917-2.331-3.499-2.331 c-2.118,0-3.834,1.711-3.834,3.821c0,0.624,0.164,1.202,0.432,1.719L32.746,26.63z" fill="#FFFFFF" fill-opacity="0.25" stroke-opacity="0.25"/>
-<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_10_" x1="12.2798" x2="21.6919" y1="27.5088" y2="27.5088">
-<stop offset="0" style="stop-color:#404040"/>
-<stop offset="1" style="stop-color:#000000"/>
-</linearGradient>
-<path d="M19.807,33.885c0,0.414-0.337,0.749-0.752,0.749h-4.188c-0.415,0-0.752-0.335-0.752-0.749V21.134 c0-0.414,0.337-0.75,0.752-0.75h4.188c0.415,0,0.752,0.336,0.752,0.75V33.885z" fill="url(#SVGID_10_)"/>
-<path d="M14.806,34.623V20.396c-0.384,0.031-0.691,0.344-0.691,0.738v12.751 C14.115,34.277,14.422,34.592,14.806,34.623z" fill="#FFFFFF" fill-opacity="0.25" stroke-opacity="0.25"/>
-<rect fill="none" height="44" width="44" x="0"/>
-</g>
-</svg>
--- a/engine/collectionframework/datasource/manager/src/glxcollectionpluginbase.cpp Fri Jun 11 13:38:23 2010 +0300
+++ b/engine/collectionframework/datasource/manager/src/glxcollectionpluginbase.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -373,7 +373,7 @@
EXPORT_C void CGlxCollectionPluginBase::HandleResponse(CMPXMedia* aResponse, CGlxRequest* aRequest, const TInt& aError)
{
TRACER("void CGlxCollectionPluginBase::HandleResponse()");
-
+ GLX_DEBUG2("CGlxCollectionPluginBase::HandleResponse()() aError=%d", aError);
if (dynamic_cast<CGlxIdListRequest*>(aRequest))
// iRequest is a CGlxIdListRequest
{
@@ -384,8 +384,20 @@
else if (dynamic_cast<CGlxThumbnailRequest*>(aRequest))
// iRequest is a CGlxThumbnailRequest
{
- iObs->HandleMedia(aResponse, aError);
- }
+ //when IAD update / sisx installation of S60 TNM is done and
+ //photos asks for the thumbnail, the thumbnail manager returns an
+ //error KErrServerTerminated(-15)/KErrDied(-13) for which the MPX recreates
+ //the collection plugins and reconnects to the MPX server and goes into
+ //a invalid state. After this, the error is not propogated to the Medialist
+ //and no further requests are processed and it keeps returning KErrNotReady(-18)
+ //So, as a HACK we are changing the error code to KErrCompletion(-17),
+ //for which the MPX collection does not take any action and propogates the error
+ //to the medialist. This error(KErrCompletion) is treated as a temporary error
+ //and the thumbnail request is made again from the medialist for which the
+ //S60 TNM returns the thumbnail properly.
+ iObs->HandleMedia(aResponse, ((aError == KErrServerTerminated
+ || aError == KErrDied) ? KErrCompletion : aError));
+ }
else if (dynamic_cast<CGlxGetRequest*>(aRequest))
// iRequest is a CGlxGetRequest
{
--- a/engine/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcemds.cpp Fri Jun 11 13:38:23 2010 +0300
+++ b/engine/collectionframework/datasource/plugins/glxdatasourcemde2.5/src/glxdatasourcemds.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -550,9 +550,13 @@
{
for ( TInt i = 0; i < aObjectIdArray.Count(); i++ )
{
- iAddedItems.Append(aObjectIdArray[i]);
+ TInt ret = iAddedItems.Append(aObjectIdArray[i]);
+ if (ret != KErrNone)
+ {
+ GLX_DEBUG2("ENotifyAdd-iAddedItems.Append() failed i(%d)", i);
+ }
}
- GLX_LOG_INFO1("ENotifyAdd - iAddedItems.Count()=%d", iAddedItems.Count());
+ GLX_DEBUG2("ENotifyAdd - iAddedItems.Count()=%d", iAddedItems.Count());
}
if (ENotifyModify == aType)
@@ -563,25 +567,25 @@
{
if (!iHarvestingOngoing)
{
- GLX_LOG_INFO("ENotifyModify - Harvesting Completed - "
+ GLX_DEBUG1("ENotifyModify - Harvesting Completed - "
"Reset iAddedItems array");
iAddedItems.Reset();
break;
}
- GLX_LOG_INFO("ENotifyModify - Id found in iAddedItems array, DO NOT PROCESS");
+ GLX_DEBUG1("ENotifyModify - Id found in iAddedItems array, DO NOT PROCESS");
return;
}
}
}
- GLX_LOG_INFO("ProcessUpdateArray");
+ GLX_DEBUG1("HandleObjectNotification - ProcessUpdateArray");
ProcessUpdateArray(aObjectIdArray, MPXChangeEventType(aType), ETrue);
#ifndef USE_S60_TNM
if(MPXChangeEventType(aType) == EMPXItemDeleted )
{
TInt count = aObjectIdArray.Count();
iDeletedCount += count;
- GLX_LOG_INFO2("EMPXItemDeleted - aObjectIdArray.Count()=%d, iDeletedCount=%d",
+ GLX_DEBUG3("EMPXItemDeleted - aObjectIdArray.Count()=%d, iDeletedCount=%d",
count, iDeletedCount);
if(iDeletedCount > KGlxThumbnailCleanupAfterDeletions)
{
@@ -595,7 +599,7 @@
if(MPXChangeEventType(aType) == EMPXItemModified )
{
- GLX_LOG_INFO("EMPXItemModified");
+ GLX_DEBUG1("HandleObjectNotification - EMPXItemModified");
TRAP_IGNORE(ThumbnailCreator().CleanupThumbnailsL(iThumbnailDatabase));
}
#endif
--- a/gallery/sis/createsis.bat Fri Jun 11 13:38:23 2010 +0300
+++ b/gallery/sis/createsis.bat Wed Jun 23 18:12:48 2010 +0300
@@ -15,7 +15,7 @@
rem
-call makesis photos_stub.pkg
+call makesis -v -s photos_stub.pkg
call makesis photos.pkg
call signsis -s photos.sis photos.sisx RDTest_02.der RDTest_02.key
\ No newline at end of file
Binary file gallery/sis/photos.sis has changed
Binary file gallery/sis/photos.sisx has changed
Binary file gallery/sis/photos_stub.sis has changed
--- a/inc/glxlocalisationstrings.h Fri Jun 11 13:38:23 2010 +0300
+++ b/inc/glxlocalisationstrings.h Wed Jun 23 18:12:48 2010 +0300
@@ -88,8 +88,9 @@
#define GLX_SUBTITLE_CAM_GRIDVIEW hbTrId("txt_photos_subtitle_my_camera")
#define GLX_SUBTITLE_MYFAV_GRIDVIEW hbTrId("txt_photos_subtitle_my_favorites")
#define GLX_SUBTITLE_NOITEMS hbTrId("txt_photos_subtitle_no_image_or_videos_to_display")
-
-
+#define GLX_FETCHER_TITLE QString("Select Image")
+#define GLX_GRID_NO_IMAGE QString("(No Images)\n")
+#define GLX_GRID_OPEN_CAMERA QString("To capture images Open")
//VIEW RELATED STRINGS AND COMMON DIALOGS
//comments lable for photos flip view
--- a/loggers/loggerqt/loggerqt.pro Fri Jun 11 13:38:23 2010 +0300
+++ b/loggers/loggerqt/loggerqt.pro Wed Jun 23 18:12:48 2010 +0300
@@ -40,4 +40,13 @@
SOURCES += src/glxperformancelog.cpp
+defBlock = \
+"$${LITERAL_HASH}if defined(EABI)" \
+"DEFFILE ../eabi/glxloggerqt.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bwins/glxloggerqt.def" \
+ "$${LITERAL_HASH}endif"
+
+MMP_RULES += defBlock
+
# Directories
--- a/main/glxaiwservicehandler.cpp Fri Jun 11 13:38:23 2010 +0300
+++ b/main/glxaiwservicehandler.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -65,11 +65,20 @@
mDSDIService(NULL),
mImageViewerService(NULL)
{
- mFetcherService = new GlxGetImageService(this);
- mNSDIService = new GlxGetImageServiceNSDI(this);
- mDSDIService = new GlxGetImageServiceDSDI(this);
-
- mImageViewerService = new GlxImageViewerService(this);
+ QString currentInterfaceName = XQServiceUtil::interfaceName();
+ if( 0 == currentInterfaceName.compare(QLatin1String("com.nokia.symbian.IImageFetch")))
+ {
+ mFetcherService = new GlxGetImageService(this);
+ }
+ else if( 0 == currentInterfaceName.compare(QLatin1String("Image")))
+ {
+ mNSDIService = new GlxGetImageServiceNSDI(this);
+ mDSDIService = new GlxGetImageServiceDSDI(this);
+ }
+ else if( 0 == currentInterfaceName.compare(QLatin1String("com.nokia.symbian.IFileView")))
+ {
+ mImageViewerService = new GlxImageViewerService(this);
+ }
#ifdef _DEBUG
QString t;
@@ -117,7 +126,7 @@
{
qDebug() << "GlxFetcher::itemSelected";
- if (mFetcherService->isActive())
+ if (mFetcherService && mFetcherService->isActive())
{
qDebug() << "GlxFetcher::itemSelected mFetcherService->isActive()";
QVariant variant = mModel->data(index, GlxUriRole);
@@ -129,7 +138,7 @@
}
}
- if (mNSDIService->isActive())
+ else if (mNSDIService && mNSDIService->isActive())
{
qDebug() << "GlxFetcher::itemSelected mNSDIService->isActive()";
QVariant variant = mModel->data(index, GlxUriRole);
@@ -141,7 +150,7 @@
}
}
- if (mDSDIService->isActive())
+ else if (mDSDIService && mDSDIService->isActive())
{
qDebug() << "GlxFetcher::itemSelected mDSDIService->isActive()";
QVariant variant = mModel->data(index, GlxUriRole);
@@ -156,9 +165,10 @@
-void GlxAiwServiceHandler::launchFetcher()
+void GlxAiwServiceHandler::launchFetcher(QString viewTitle)
{
qDebug() << "GlxAiwServiceHandler::launchFetcher START";
+ qApp->setApplicationName(viewTitle);
HbStyleLoader::registerFilePath(":/data/photos.css");
GlxModelParm modelParm(KGlxCollectionPluginAllImplementationUid, 0);
mModel = new GlxMediaModel(modelParm);
@@ -323,7 +333,11 @@
void GlxGetImageService::fetch()
{
mImageRequestIndex = setCurrentRequestAsync();
- mServiceApp->launchFetcher();
+ QString title = requestInfo().info("WindowTitle").toString();
+ if(title.isNull()){
+ title = QString("Image Fetcher");
+ }
+ mServiceApp->launchFetcher(title);
}
// ----------------------------------------------------------------------------
@@ -412,7 +426,11 @@
{
qDebug() << "GlxGetImageServiceNSDI::fetch START";
mImageRequestIndex = setCurrentRequestAsync();
- mServiceApp->launchFetcher();
+ QString title = requestInfo().info("WindowTitle").toString();
+ if(title.isNull()){
+ title = QString("Image Fetcher");
+ }
+ mServiceApp->launchFetcher(title);
qDebug() << "GlxGetImageServiceNSDI::fetch END";
}
@@ -491,7 +509,11 @@
Q_UNUSED(filter)
Q_UNUSED(flag)
mImageRequestIndex = setCurrentRequestAsync();
- mServiceApp->launchFetcher();
+ QString title = requestInfo().info("WindowTitle").toString();
+ if(title.isNull()){
+ title = QString("Image Fetcher");
+ }
+ mServiceApp->launchFetcher(title);
}
// ----------GlxImageViewerService---------------
--- a/main/glxaiwservicehandler.h Fri Jun 11 13:38:23 2010 +0300
+++ b/main/glxaiwservicehandler.h Wed Jun 23 18:12:48 2010 +0300
@@ -54,7 +54,7 @@
* Destructor.
*/
~GlxAiwServiceHandler();
- void launchFetcher();
+ void launchFetcher(QString viewTitle);
void launchImageViewer();
public slots:
void itemSelected(const QModelIndex & index);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main/glxapplication.cpp Wed Jun 23 18:12:48 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: ?Description
+*
+*/
+
+//include
+#include <qsymbianevent.h>
+#include <oommonitorplugin.h>
+#include <w32std.h>
+
+//userinclude
+#include "glxapplication.h"
+#include "mglxcache.h"
+
+GlxApplication::GlxApplication( int &argc, char *argv[ ], Hb::ApplicationFlags flags )
+ : HbApplication( argc, argv, flags )
+{
+}
+
+GlxApplication::GlxApplication( QApplication::QS60MainApplicationFactory factory, int &argc, char *argv[], Hb::ApplicationFlags flags )
+ : HbApplication( factory, argc, argv, flags )
+{
+}
+
+bool GlxApplication::symbianEventFilter(const QSymbianEvent *aQSEvent)
+{
+ if ( aQSEvent->type( ) == QSymbianEvent::WindowServerEvent ) {
+ const TWsEvent *aEvent = aQSEvent->windowServerEvent();
+ if ( aEvent && aEvent->Type() == KAppOomMonitor_FreeRam ) {
+ cleanUpCache();
+ }
+ }
+ return HbApplication::symbianEventFilter( aQSEvent );
+}
+
+void GlxApplication::cleanUpCache()
+{
+ qDebug("GlxApplication::cleanUpCache()");
+ MGlxCache* cacheManager = MGlxCache::InstanceL();
+ cacheManager->ReleaseRAML(true);
+ cacheManager->Close();
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main/glxapplication.h Wed Jun 23 18:12:48 2010 +0300
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: ?Description
+*
+*/
+
+#ifndef GLXAPPLICATION_H_
+#define GLXAPPLICATION_H_
+
+#include <hbApplication.h>
+
+class QSymbianEvent;
+
+class GlxApplication: public HbApplication
+{
+
+public:
+
+ GlxApplication( int &argc, char *argv[],
+ Hb::ApplicationFlags flags = Hb::DefaultApplicationFlags );
+
+ GlxApplication( QApplication::QS60MainApplicationFactory factory,
+ int &argc,
+ char *argv[],
+ Hb::ApplicationFlags flags = Hb::DefaultApplicationFlags );
+
+ bool symbianEventFilter( const QSymbianEvent *aQSEvent );
+
+private :
+ void cleanUpCache();
+
+};
+
+#endif // GLXAPPLICATION_H_
--- a/main/main.cpp Fri Jun 11 13:38:23 2010 +0300
+++ b/main/main.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -16,9 +16,6 @@
*/
-
-#include <hbapplication.h>
-#include <glxstatemanager.h>
#include <hbmainwindow.h>
#include <glxloggerenabler.h>
@@ -26,7 +23,10 @@
#include <QDebug>
#include <QTranslator>
#include <xqserviceutil.h>
-#include <glxaiwservicehandler.h>
+
+#include "glxstatemanager.h"
+#include "glxaiwservicehandler.h"
+#include "glxapplication.h"
#include "OstTraceDefinitions.h"
#ifdef OST_TRACE_COMPILER_IN_USE
@@ -42,18 +42,15 @@
OstTraceExt3( TRACE_NORMAL, DUP1__MAIN, "::main Time at Launch HHMMSS =%d::%d::%d",
localTime.hour(), localTime.minute(), localTime.second() );
- HbApplication app(argc, argv);
-
- bool loaded(false);
-
+ GlxApplication app(argc, argv);
+ bool loaded(false);
QTranslator translator;
QString path = "Z:/resource/qt/translations/";
+
loaded = translator.load("photos_" + QLocale::system().name(), path);
- if(loaded)
- {
+ if(loaded) {
qApp->installTranslator(&translator);
- }
-
+ }
GlxStateManager* stateMgr = NULL;
GlxAiwServiceHandler* mainWindow = NULL;
@@ -61,13 +58,12 @@
OstTraceEventStart0( EVENT_DUP1__MAIN_START, "launch" );
if(!XQServiceUtil::isService()){
- stateMgr = new GlxStateManager();
+ stateMgr = new GlxStateManager();
app.setApplicationName("Photos");
stateMgr->launchApplication();
}
- else
- {
- mainWindow = new GlxAiwServiceHandler();
+ else {
+ mainWindow = new GlxAiwServiceHandler();
mainWindow->show();
}
OstTraceEventStop( EVENT_DUP1__MAIN_STOP, "launch", EVENT_DUP1__MAIN_START );
--- a/main/main.pro Fri Jun 11 13:38:23 2010 +0300
+++ b/main/main.pro Wed Jun 23 18:12:48 2010 +0300
@@ -24,21 +24,23 @@
../ui/inc \
../ui/uiengine/model/mediamodel/inc \
../ui/uiengine/medialistwrapper/inc \
+ ../ui/uiengine/medialists/inc \
../loggers/loggerqt/inc \
../ui/views/viewsfactory/inc \
../ui/views/viewbase/inc \
../ui/views/gridview/inc \
- ../engine/collectionframework/plugins/glxcollectionpluginall/inc \
+ ../engine/collectionframework/plugins/glxcollectionpluginall/inc \
../traces
+INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+
CONFIG += HB
DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
-
symbian: {
TARGET.UID3 = 0x20000A14
- ICON = ../data/qgn_menu_ovi_photos.svg
+ SKINICON = qtg_large_photos
isEmpty(TARGET.EPOCSTACKSIZE):TARGET.EPOCSTACKSIZE = 0x14000
isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 20480 \
41943040
@@ -51,13 +53,17 @@
-lglxviews.dll \
-lglxmediamodel.dll \
-lglxexternalutility.dll \
- -lglximageviewermanager.dll
+ -lglximageviewermanager.dll \
+ -lglxmedialists.dll
# Input
SOURCES += main.cpp \
- glxaiwservicehandler.cpp
-HEADERS +=glxaiwservicehandler.h
+ glxaiwservicehandler.cpp \
+ glxapplication.cpp
+
+HEADERS += glxaiwservicehandler.h \
+ glxapplication.h
RESOURCES += ../photos.qrc
TRANSLATIONS= photos.ts
--- a/photos.qrc Fri Jun 11 13:38:23 2010 +0300
+++ b/photos.qrc Wed Jun 23 18:12:48 2010 +0300
@@ -23,6 +23,7 @@
<file>data/listview.docml</file>
<file>data/fullscreen.docml</file>
<file>data/slideshow.docml</file>
+ <file>data/detailsview.docml</file>
<file>data/Image1.jpg</file>
<file>data/Image2.jpg</file>
<file>data/Image3.jpg</file>
--- a/rom/photos.iby Fri Jun 11 13:38:23 2010 +0300
+++ b/rom/photos.iby Wed Jun 23 18:12:48 2010 +0300
@@ -78,6 +78,10 @@
file=ABI_DIR/BUILD_DIR/glxviews.dll SHARED_LIB_DIR/glxviews.dll
file=ABI_DIR/BUILD_DIR/glxviewutilities.dll SHARED_LIB_DIR/glxviewutilities.dll
file=ABI_DIR/BUILD_DIR/glxzoomwidget.dll SHARED_LIB_DIR/glxzoomwidget.dll
+file=ABI_DIR/BUILD_DIR/detailsnamelabel.dll SHARED_LIB_DIR/detailsnamelabel.dll
+file=ABI_DIR/BUILD_DIR/detailsnamelabelplugin.dll SHARED_LIB_DIR/detailsnamelabelplugin.dll
+file=ABI_DIR/BUILD_DIR/detailsdescriptionedit.dll SHARED_LIB_DIR/detailsdescriptionedit.dll
+file=ABI_DIR/BUILD_DIR/detailsdescriptioneditplugin.dll SHARED_LIB_DIR/detailsdescriptioneditplugin.dll
S60_APP_EXE(photos)
--- a/tsrc/unittest/unittest_imagedecoderwrapper/unittest_imagedecoderwrapper.pro Fri Jun 11 13:38:23 2010 +0300
+++ b/tsrc/unittest/unittest_imagedecoderwrapper/unittest_imagedecoderwrapper.pro Wed Jun 23 18:12:48 2010 +0300
@@ -21,6 +21,7 @@
INCLUDEPATH += .
INCLUDEPATH += ../../../commonutilities/imagedecoderwrapper/inc
INCLUDEPATH += /epoc32/include/mw/QtTest
+INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
CONFIG += qtestlib \
Hb
--- a/tvout/tvoutwrapper/tvoutwrapper.pro Fri Jun 11 13:38:23 2010 +0300
+++ b/tvout/tvoutwrapper/tvoutwrapper.pro Wed Jun 23 18:12:48 2010 +0300
@@ -43,4 +43,13 @@
src/glxtvoutwrapper_p.cpp \
src/glxtvconnectionobserver.cpp
-DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
\ No newline at end of file
+DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
+
+defBlock = \
+"$${LITERAL_HASH}if defined(EABI)" \
+"DEFFILE ../eabi/glxtvoutwrapper.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bwins/glxtvoutwrapper.def" \
+ "$${LITERAL_HASH}endif"
+
+MMP_RULES += defBlock
--- a/ui/commandhandlers/bwins/glxcommoncommandhandlersu.def Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/commandhandlers/bwins/glxcommoncommandhandlersu.def Wed Jun 23 18:12:48 2010 +0300
@@ -12,55 +12,62 @@
??_EGlxCommandHandlerSend@@UAE@I@Z @ 11 NONAME ; GlxCommandHandlerSend::~GlxCommandHandlerSend(unsigned int)
?trUtf8@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0@Z @ 12 NONAME ; class QString GlxCommandHandlerNewMedia::trUtf8(char const *, char const *)
?HandleErrorL@GlxCommandHandlerNewMedia@@MAEXH@Z @ 13 NONAME ; void GlxCommandHandlerNewMedia::HandleErrorL(int)
- ?GetName@GlxCommandHandlerRename@@ABE?AVQString@@AAVMGlxMediaList@@@Z @ 14 NONAME ; class QString GlxCommandHandlerRename::GetName(class MGlxMediaList &) const
- ?tr@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0H@Z @ 15 NONAME ; class QString GlxCommandHandlerNewMedia::tr(char const *, char const *, int)
- ?DoExecuteCommandL@GlxCommandHandlerRotate@@UAEXHAAVMGlxMediaList@@AAH@Z @ 16 NONAME ; void GlxCommandHandlerRotate::DoExecuteCommandL(int, class MGlxMediaList &, int &)
- ?metaObject@GlxCommandHandlerNewMedia@@UBEPBUQMetaObject@@XZ @ 17 NONAME ; struct QMetaObject const * GlxCommandHandlerNewMedia::metaObject(void) const
- ?CreateCommandL@GlxCommandHandlerDelete@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 18 NONAME ; class CMPXMedia * GlxCommandHandlerDelete::CreateCommandL(int, class MGlxMediaList &, int &) const
- ?CreateCommandL@GlxCommandHandlerAddToContainer@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 19 NONAME ; class CMPXMedia * GlxCommandHandlerAddToContainer::CreateCommandL(int, class MGlxMediaList &, int &) const
- ?CompletionTextL@GlxCommandHandlerDelete@@EBE?AVQString@@XZ @ 20 NONAME ; class QString GlxCommandHandlerDelete::CompletionTextL(void) const
- ?DoHandleCommandCompleteL@GlxCommandHandlerNewMedia@@MAEXPAXPAVCMPXMedia@@HPAVMGlxMediaList@@@Z @ 21 NONAME ; void GlxCommandHandlerNewMedia::DoHandleCommandCompleteL(void *, class CMPXMedia *, int, class MGlxMediaList *)
- ?GenerateNewMediaItemTitleL@GlxCommandHandlerNewMedia@@ABE?AVQString@@V2@AAVMGlxMediaList@@@Z @ 22 NONAME ; class QString GlxCommandHandlerNewMedia::GenerateNewMediaItemTitleL(class QString, class MGlxMediaList &) const
- ??1GlxCommandHandlerRemoveFrom@@UAE@XZ @ 23 NONAME ; GlxCommandHandlerRemoveFrom::~GlxCommandHandlerRemoveFrom(void)
- ?qt_metacast@GlxCommandHandlerNewMedia@@UAEPAXPBD@Z @ 24 NONAME ; void * GlxCommandHandlerNewMedia::qt_metacast(char const *)
- ??0GlxCommandHandlerRemoveFrom@@QAE@XZ @ 25 NONAME ; GlxCommandHandlerRemoveFrom::GlxCommandHandlerRemoveFrom(void)
- ?HandleItemAddedL@GlxCommandHandlerNewMedia@@MAEXHHPAVMGlxMediaList@@@Z @ 26 NONAME ; void GlxCommandHandlerNewMedia::HandleItemAddedL(int, int, class MGlxMediaList *)
- ?tr@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0@Z @ 27 NONAME ; class QString GlxCommandHandlerNewMedia::tr(char const *, char const *)
- ?createNewMedia@GlxCommandHandlerAddToContainer@@ABEXXZ @ 28 NONAME ; void GlxCommandHandlerAddToContainer::createNewMedia(void) const
- ?ReadImageOrientationL@GlxCommandHandlerRotate@@AAEGXZ @ 29 NONAME ; unsigned short GlxCommandHandlerRotate::ReadImageOrientationL(void)
- ??1GlxCommandHandlerRotate@@UAE@XZ @ 30 NONAME ; GlxCommandHandlerRotate::~GlxCommandHandlerRotate(void)
- ?CreateCommandL@GlxCommandHandlerRename@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 31 NONAME ; class CMPXMedia * GlxCommandHandlerRename::CreateCommandL(int, class MGlxMediaList &, int &) const
- ??1GlxCommandHandlerNewMedia@@UAE@XZ @ 32 NONAME ; GlxCommandHandlerNewMedia::~GlxCommandHandlerNewMedia(void)
- ??_EGlxCommandHandlerNewMedia@@UAE@I@Z @ 33 NONAME ; GlxCommandHandlerNewMedia::~GlxCommandHandlerNewMedia(unsigned int)
- ?CompletionTextL@GlxCommandHandlerRemoveFrom@@EBE?AVQString@@XZ @ 34 NONAME ; class QString GlxCommandHandlerRemoveFrom::CompletionTextL(void) const
- ??_EGlxCommandHandlerDelete@@UAE@I@Z @ 35 NONAME ; GlxCommandHandlerDelete::~GlxCommandHandlerDelete(unsigned int)
- ?ProgressTextL@GlxCommandHandlerDelete@@EBE?AVQString@@XZ @ 36 NONAME ; class QString GlxCommandHandlerDelete::ProgressTextL(void) const
- ?CompletionTextL@GlxCommandHandlerRename@@EBE?AVQString@@XZ @ 37 NONAME ; class QString GlxCommandHandlerRename::CompletionTextL(void) const
- ?staticMetaObject@GlxCommandHandlerNewMedia@@2UQMetaObject@@B @ 38 NONAME ; struct QMetaObject const GlxCommandHandlerNewMedia::staticMetaObject
- ?DestroyExifWriter@GlxCommandHandlerRotate@@AAEXXZ @ 39 NONAME ; void GlxCommandHandlerRotate::DestroyExifWriter(void)
- ??0GlxCommandHandlerDelete@@QAE@XZ @ 40 NONAME ; GlxCommandHandlerDelete::GlxCommandHandlerDelete(void)
- ??1GlxCommandHandlerRename@@UAE@XZ @ 41 NONAME ; GlxCommandHandlerRename::~GlxCommandHandlerRename(void)
- ??0GlxCommandHandlerSend@@QAE@XZ @ 42 NONAME ; GlxCommandHandlerSend::GlxCommandHandlerSend(void)
- ?HandleError@GlxCommandHandlerNewMedia@@MAEXH@Z @ 43 NONAME ; void GlxCommandHandlerNewMedia::HandleError(int)
- ??0GlxCommandHandlerAddToContainer@@QAE@XZ @ 44 NONAME ; GlxCommandHandlerAddToContainer::GlxCommandHandlerAddToContainer(void)
- ??_EGlxCommandHandlerRename@@UAE@I@Z @ 45 NONAME ; GlxCommandHandlerRename::~GlxCommandHandlerRename(unsigned int)
- ?HandleErrorL@GlxCommandHandlerRename@@EAEXH@Z @ 46 NONAME ; void GlxCommandHandlerRename::HandleErrorL(int)
- ??_EGlxCommandHandlerRotate@@UAE@I@Z @ 47 NONAME ; GlxCommandHandlerRotate::~GlxCommandHandlerRotate(unsigned int)
- ?ProgressTextL@GlxCommandHandlerAddToContainer@@EBE?AVQString@@XZ @ 48 NONAME ; class QString GlxCommandHandlerAddToContainer::ProgressTextL(void) const
- ??1GlxCommandHandlerSend@@UAE@XZ @ 49 NONAME ; GlxCommandHandlerSend::~GlxCommandHandlerSend(void)
- ?CompletionTextL@GlxCommandHandlerAddToContainer@@EBE?AVQString@@XZ @ 50 NONAME ; class QString GlxCommandHandlerAddToContainer::CompletionTextL(void) const
- ??0GlxCommandHandlerNewMedia@@QAE@XZ @ 51 NONAME ; GlxCommandHandlerNewMedia::GlxCommandHandlerNewMedia(void)
- ?trUtf8@GlxCommandHandlerNewMedia@@SA?AVQString@@PBD0H@Z @ 52 NONAME ; class QString GlxCommandHandlerNewMedia::trUtf8(char const *, char const *, int)
- ?doHandleUserAction@GlxCommandHandlerSend@@UBEXPAVGlxMediaModel@@V?$QList@VQModelIndex@@@@@Z @ 53 NONAME ; void GlxCommandHandlerSend::doHandleUserAction(class GlxMediaModel *, class QList<class QModelIndex>) const
- ??_EGlxCommandHandlerAddToContainer@@UAE@I@Z @ 54 NONAME ; GlxCommandHandlerAddToContainer::~GlxCommandHandlerAddToContainer(unsigned int)
- ?ProgressTextL@GlxCommandHandlerNewMedia@@EBE?AVQString@@XZ @ 55 NONAME ; class QString GlxCommandHandlerNewMedia::ProgressTextL(void) const
- ?ExecuteLD@GlxCommandHandlerNewMedia@@QAEHAAVTGlxMediaId@@@Z @ 56 NONAME ; int GlxCommandHandlerNewMedia::ExecuteLD(class TGlxMediaId &)
- ?CreateCommandL@GlxCommandHandlerRotate@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 57 NONAME ; class CMPXMedia * GlxCommandHandlerRotate::CreateCommandL(int, class MGlxMediaList &, int &) const
- ?CompletionTextL@GlxCommandHandlerNewMedia@@EBE?AVQString@@XZ @ 58 NONAME ; class QString GlxCommandHandlerNewMedia::CompletionTextL(void) const
- ?CreateCommandL@GlxCommandHandlerRemoveFrom@@UBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 59 NONAME ; class CMPXMedia * GlxCommandHandlerRemoveFrom::CreateCommandL(int, class MGlxMediaList &, int &) const
- ?CalculateFinalOrientationL@GlxCommandHandlerRotate@@AAEGG@Z @ 60 NONAME ; unsigned short GlxCommandHandlerRotate::CalculateFinalOrientationL(unsigned short)
- ?InitializeExifWriterL@GlxCommandHandlerRotate@@AAEXV?$TBuf@$0BAA@@@@Z @ 61 NONAME ; void GlxCommandHandlerRotate::InitializeExifWriterL(class TBuf<256>)
- ?CreateCommandL@GlxCommandHandlerNewMedia@@MBEPAVCMPXMedia@@HAAVMGlxMediaList@@AAH@Z @ 62 NONAME ; class CMPXMedia * GlxCommandHandlerNewMedia::CreateCommandL(int, class MGlxMediaList &, int &) const
- ??1GlxCommandHandlerDelete@@UAE@XZ @ 63 NONAME ; GlxCommandHandlerDelete::~GlxCommandHandlerDelete(void)
- ??0GlxCommandHandlerRotate@@QAE@XZ @ 64 NONAME ; GlxCommandHandlerRotate::GlxCommandHandlerRotate(void)
+ ?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)
--- a/ui/commandhandlers/commandhandlerbase/commandhandlerbase.pro Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/commandhandlers/commandhandlerbase/commandhandlerbase.pro Wed Jun 23 18:12:48 2010 +0300
@@ -47,6 +47,7 @@
TARGET.EPOCALLOWDLLDATA = 1
}
+
# Input
HEADERS += inc/glxcommandhandler.h
HEADERS += inc/glxmpxcommandhandler.h
@@ -57,3 +58,12 @@
SOURCES += src/glxmodelcommandhandler.cpp
DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
+
+defBlock = \
+"$${LITERAL_HASH}if defined(EABI)" \
+"DEFFILE ../eabi/glxcommandhandlerbase.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bwins/glxcommandhandlerbase.def" \
+ "$${LITERAL_HASH}endif"
+
+MMP_RULES += defBlock
--- a/ui/commandhandlers/commoncommandhandlers/commoncommandhandlers.pro Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/commandhandlers/commoncommandhandlers/commoncommandhandlers.pro Wed Jun 23 18:12:48 2010 +0300
@@ -52,7 +52,9 @@
-lshareui.dll \
-lexiflib.dll \
-lfbscli.dll \
- -lbafl.dll
+ -lbafl.dll \
+ -lefsrv.dll \
+ -lcaf.dll
# Input
HEADERS += inc/glxcommandhandlerdelete.h
@@ -63,6 +65,8 @@
HEADERS += inc/glxcommandhandlerremovefrom.h
HEADERS += inc/glxcommandhandlerrename.h
HEADERS += inc/glxcommondialogs.h
+HEADERS += inc/glxcommandhandlercomment.h
+
SOURCES += src/glxcommandhandlerdelete.cpp
SOURCES += src/glxcommandhandleraddtocontainer.cpp
@@ -72,6 +76,16 @@
SOURCES += src/glxcommandhandlerremovefrom.cpp
SOURCES += src/glxcommandhandlerrename.cpp
SOURCES += src/glxcommondialogs.cpp
+SOURCES += src/glxcommandhandlercomment.cpp
DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
+defBlock = \
+"$${LITERAL_HASH}if defined(EABI)" \
+"DEFFILE ../eabi/glxcommoncommandhandlers.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bwins/glxcommoncommandhandlers.def" \
+ "$${LITERAL_HASH}endif"
+
+MMP_RULES += defBlock
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/commandhandlers/commoncommandhandlers/inc/glxcommandhandlercomment.h Wed Jun 23 18:12:48 2010 +0300
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef GLXCOMMANDHANDLERCOMMENT_H
+#define GLXCOMMANDHANDLERCOMMENT_H
+
+#include <glxmpxcommandhandler.h>
+
+#ifdef BUILD_COMMONCOMMANDHANDLERS
+#define GLX_COMMONCOMMANDHANDLERS_EXPORT Q_DECL_EXPORT
+#else
+#define GLX_COMMONCOMMANDHANDLERS_EXPORT Q_DECL_IMPORT
+#endif
+
+
+class GLX_COMMONCOMMANDHANDLERS_EXPORT GlxCommandHandlerComment : public GlxMpxCommandHandler
+ {
+public:
+ GlxCommandHandlerComment();
+ ~GlxCommandHandlerComment();
+ CMPXCommand* CreateCommandL(TInt aCommandId, MGlxMediaList& aMediaList, TBool& aConsume) const ;
+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/src/glxcommandhandlercomment.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -0,0 +1,161 @@
+/*
+* 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 <hbmessagebox.h>
+#include <hblabel.h>
+
+#include <mpxcollectionpath.h>
+#include <mglxmedialist.h>
+#include <glxcommandfactory.h>
+#include <glxcommandhandlercomment.h>
+#include <glxattributecontext.h>
+#include <glxattributeretriever.h>
+#include <glxfetchcontextremover.h>
+#include <glxcommondialogs.h>
+#include "glxlocalisationstrings.h"
+
+GlxCommandHandlerComment::GlxCommandHandlerComment()
+ {
+ }
+
+GlxCommandHandlerComment::~GlxCommandHandlerComment()
+ {
+ }
+
+CMPXCommand* GlxCommandHandlerComment::CreateCommandL(TInt aCommandId,
+ MGlxMediaList& aMediaList, TBool& aConsume) const
+ {
+ Q_UNUSED(aCommandId);
+ Q_UNUSED(aConsume);
+
+ CMPXCommand* command = NULL;
+ QString mainPane = GetName(aMediaList);
+ QString title(GLX_DETAILS_DESCRIPTION);
+ QString mediaTitle = NULL;
+ bool ok = false;
+ GlxTextInputDialog* dlg = new GlxTextInputDialog();
+ mediaTitle = dlg->getText(title, mainPane, &ok);
+ delete dlg;
+
+ if(ok == true)
+ {
+ TPtrC16 newMediaItemTitleDes
+ = (reinterpret_cast<const TUint16*> (mediaTitle.utf16()));
+
+ HBufC* newMediaItemTitle = newMediaItemTitleDes.Alloc();
+ CleanupStack::PushL(newMediaItemTitle);
+
+ CMPXCollectionPath* path = aMediaList.PathLC(
+ NGlxListDefs::EPathFocusOrSelection);
+ command =
+ TGlxCommandFactory::SetDescriptionCommandLC(*newMediaItemTitle,*path);
+ CleanupStack::Pop(command);
+ CleanupStack::PopAndDestroy(path);
+ CleanupStack::PopAndDestroy(newMediaItemTitle);
+ }
+ return command;
+ }
+
+QString GlxCommandHandlerComment::CompletionTextL() const
+ {
+ //return command completion text
+ return QString();
+ }
+
+QString GlxCommandHandlerComment::GetName(MGlxMediaList& aMediaList) const
+ {
+ // Create an iterator to retrieve the relevant attribute
+ TGlxSelectionIterator iterator;
+ // only want the title of one item
+ iterator.SetRange( 1 );
+ CGlxAttributeContext* context = new( ELeave )
+ CGlxAttributeContext( &iterator );
+ CleanupStack::PushL( context );
+
+ // Want to read the title attribute
+ // Configure the context
+ context->AddAttributeL( KMPXMediaGeneralComment );
+
+ // Add the context to the media list
+ aMediaList.AddContextL( context, KGlxFetchContextPriorityBlocking );
+
+ // TGlxContextRemover will remove the context when it goes out of scope
+ // Used here to avoid a trap and still have safe cleanup
+ TGlxFetchContextRemover contextRemover( context, aMediaList );
+ // put to cleanupstack as cleanupstack is emptied before stack objects
+ // are deleted
+ CleanupClosePushL( contextRemover );
+ // Yuck - a leave and a return code!
+ // EFalse => don't show a progress dialog
+ TInt err = GlxAttributeRetriever::RetrieveL( *context, aMediaList, EFalse );
+ // Using a distinct error value as "LeaveIfError( FuncL() );" looks bad
+ User::LeaveIfError( err );
+ // context off the list
+ CleanupStack::PopAndDestroy( &contextRemover );
+
+ // Now get the title of the relevant item: if *an* item is selected use its
+ // title, otherwise use the item with focus
+ // Get the index of the item to rename
+ TInt index = KErrNotFound;
+ QString title = NULL;
+ // first see if there's a selected item...
+ if ( aMediaList.SelectionCount() == 1 )
+ {
+ // Find the index of the selected item
+ index = aMediaList.Count();
+ do
+ {
+ --index;
+ }
+ while ( !aMediaList.IsSelected( index ) && index > 0 );
+ }
+ else
+ {
+ // Use the index of the item with focus
+ index = aMediaList.FocusIndex();
+ }
+
+ if ( index != KErrNotFound )
+ {
+ // use iterator to get the right item
+ iterator.SetToFirst( &aMediaList );
+ const CGlxMedia* media = aMediaList.Item( iterator++ ).Properties();
+ if( media )
+ {
+ // found the item's media properties, extract the title
+ const TDesC& titleDesc = media->ValueText(KMPXMediaGeneralComment);
+ title = QString::fromUtf16(titleDesc.Ptr(),
+ titleDesc.Length());
+ }
+ }
+ CleanupStack::PopAndDestroy( context );
+
+ return title;
+ }
+
+void GlxCommandHandlerComment::HandleErrorL(TInt aErrorCode)
+ {
+ if(aErrorCode == KErrAlreadyExists)
+ {
+ HbMessageBox::warning("Name Already Exist!!!", new HbLabel(
+ "Rename"));
+ }
+ else{
+ GlxMpxCommandHandler::HandleErrorL(aErrorCode);
+ }
+ }
+
--- a/ui/commandhandlers/eabi/glxcommoncommandhandlersu.def Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/commandhandlers/eabi/glxcommoncommandhandlersu.def Wed Jun 23 18:12:48 2010 +0300
@@ -27,66 +27,77 @@
_ZN23GlxCommandHandlerRotateD0Ev @ 26 NONAME
_ZN23GlxCommandHandlerRotateD1Ev @ 27 NONAME
_ZN23GlxCommandHandlerRotateD2Ev @ 28 NONAME
- _ZN25GlxCommandHandlerNewMedia11HandleErrorEi @ 29 NONAME
- _ZN25GlxCommandHandlerNewMedia11qt_metacallEN11QMetaObject4CallEiPPv @ 30 NONAME
- _ZN25GlxCommandHandlerNewMedia11qt_metacastEPKc @ 31 NONAME
- _ZN25GlxCommandHandlerNewMedia12HandleErrorLEi @ 32 NONAME
- _ZN25GlxCommandHandlerNewMedia16HandleItemAddedLEiiP13MGlxMediaList @ 33 NONAME
- _ZN25GlxCommandHandlerNewMedia16staticMetaObjectE @ 34 NONAME DATA 16
- _ZN25GlxCommandHandlerNewMedia19getStaticMetaObjectEv @ 35 NONAME
- _ZN25GlxCommandHandlerNewMedia24DoHandleCommandCompleteLEPvP9CMPXMediaiP13MGlxMediaList @ 36 NONAME
- _ZN25GlxCommandHandlerNewMedia9ExecuteLDER11TGlxMediaId @ 37 NONAME
- _ZN25GlxCommandHandlerNewMediaC1Ev @ 38 NONAME
- _ZN25GlxCommandHandlerNewMediaC2Ev @ 39 NONAME
- _ZN25GlxCommandHandlerNewMediaD0Ev @ 40 NONAME
- _ZN25GlxCommandHandlerNewMediaD1Ev @ 41 NONAME
- _ZN25GlxCommandHandlerNewMediaD2Ev @ 42 NONAME
- _ZN27GlxCommandHandlerRemoveFromC1Ev @ 43 NONAME
- _ZN27GlxCommandHandlerRemoveFromC2Ev @ 44 NONAME
- _ZN27GlxCommandHandlerRemoveFromD0Ev @ 45 NONAME
- _ZN27GlxCommandHandlerRemoveFromD1Ev @ 46 NONAME
- _ZN27GlxCommandHandlerRemoveFromD2Ev @ 47 NONAME
- _ZN31GlxCommandHandlerAddToContainer15iSelectionCountE @ 48 NONAME DATA 4
- _ZN31GlxCommandHandlerAddToContainerC1Ev @ 49 NONAME
- _ZN31GlxCommandHandlerAddToContainerC2Ev @ 50 NONAME
- _ZN31GlxCommandHandlerAddToContainerD0Ev @ 51 NONAME
- _ZN31GlxCommandHandlerAddToContainerD1Ev @ 52 NONAME
- _ZN31GlxCommandHandlerAddToContainerD2Ev @ 53 NONAME
- _ZNK21GlxCommandHandlerSend18doHandleUserActionEP13GlxMediaModel5QListI11QModelIndexE @ 54 NONAME
- _ZNK23GlxCommandHandlerDelete13ProgressTextLEv @ 55 NONAME
- _ZNK23GlxCommandHandlerDelete14CreateCommandLEiR13MGlxMediaListRi @ 56 NONAME
- _ZNK23GlxCommandHandlerDelete15CompletionTextLEv @ 57 NONAME
- _ZNK23GlxCommandHandlerDelete17ConfirmationTextLEb @ 58 NONAME
- _ZNK23GlxCommandHandlerRename14CreateCommandLEiR13MGlxMediaListRi @ 59 NONAME
- _ZNK23GlxCommandHandlerRename15CompletionTextLEv @ 60 NONAME
- _ZNK23GlxCommandHandlerRename7GetNameER13MGlxMediaList @ 61 NONAME
- _ZNK23GlxCommandHandlerRotate14CreateCommandLEiR13MGlxMediaListRi @ 62 NONAME
- _ZNK25GlxCommandHandlerNewMedia10metaObjectEv @ 63 NONAME
- _ZNK25GlxCommandHandlerNewMedia13ProgressTextLEv @ 64 NONAME
- _ZNK25GlxCommandHandlerNewMedia14CreateCommandLEiR13MGlxMediaListRi @ 65 NONAME
- _ZNK25GlxCommandHandlerNewMedia15CompletionTextLEv @ 66 NONAME
- _ZNK25GlxCommandHandlerNewMedia26GenerateNewMediaItemTitleLE7QStringR13MGlxMediaList @ 67 NONAME
- _ZNK27GlxCommandHandlerRemoveFrom13ProgressTextLEv @ 68 NONAME
- _ZNK27GlxCommandHandlerRemoveFrom14CreateCommandLEiR13MGlxMediaListRi @ 69 NONAME
- _ZNK27GlxCommandHandlerRemoveFrom15CompletionTextLEv @ 70 NONAME
- _ZNK31GlxCommandHandlerAddToContainer13ProgressTextLEv @ 71 NONAME
- _ZNK31GlxCommandHandlerAddToContainer14CreateCommandLEiR13MGlxMediaListRi @ 72 NONAME
- _ZNK31GlxCommandHandlerAddToContainer14createNewMediaEv @ 73 NONAME
- _ZNK31GlxCommandHandlerAddToContainer15CompletionTextLEv @ 74 NONAME
- _ZTI21GlxCommandHandlerSend @ 75 NONAME
- _ZTI23GlxCommandHandlerDelete @ 76 NONAME
- _ZTI23GlxCommandHandlerRename @ 77 NONAME
- _ZTI23GlxCommandHandlerRotate @ 78 NONAME
- _ZTI25GlxCommandHandlerNewMedia @ 79 NONAME
- _ZTI27GlxCommandHandlerRemoveFrom @ 80 NONAME
- _ZTI31GlxCommandHandlerAddToContainer @ 81 NONAME
- _ZTV21GlxCommandHandlerSend @ 82 NONAME
- _ZTV23GlxCommandHandlerDelete @ 83 NONAME
- _ZTV23GlxCommandHandlerRename @ 84 NONAME
- _ZTV23GlxCommandHandlerRotate @ 85 NONAME
- _ZTV25GlxCommandHandlerNewMedia @ 86 NONAME
- _ZTV27GlxCommandHandlerRemoveFrom @ 87 NONAME
- _ZTV31GlxCommandHandlerAddToContainer @ 88 NONAME
- _ZThn8_N25GlxCommandHandlerNewMedia11HandleErrorEi @ 89 NONAME
- _ZThn8_N25GlxCommandHandlerNewMedia16HandleItemAddedLEiiP13MGlxMediaList @ 90 NONAME
+ _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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/bwins/detailsdescriptioneditu.def Wed Jun 23 18:12:48 2010 +0300
@@ -0,0 +1,18 @@
+EXPORTS
+ ?qt_metacall@GlxDetailsDescriptionEdit@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1 NONAME ; int GlxDetailsDescriptionEdit::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacast@GlxDetailsDescriptionEdit@@UAEPAXPBD@Z @ 2 NONAME ; void * GlxDetailsDescriptionEdit::qt_metacast(char const *)
+ ??1GlxDetailsDescriptionEdit@@UAE@XZ @ 3 NONAME ; GlxDetailsDescriptionEdit::~GlxDetailsDescriptionEdit(void)
+ ?staticMetaObject@GlxDetailsDescriptionEdit@@2UQMetaObject@@B @ 4 NONAME ; struct QMetaObject const GlxDetailsDescriptionEdit::staticMetaObject
+ ??0GlxDetailsDescriptionEdit@@QAE@PAVQGraphicsItem@@@Z @ 5 NONAME ; GlxDetailsDescriptionEdit::GlxDetailsDescriptionEdit(class QGraphicsItem *)
+ ?tr@GlxDetailsDescriptionEdit@@SA?AVQString@@PBD0H@Z @ 6 NONAME ; class QString GlxDetailsDescriptionEdit::tr(char const *, char const *, int)
+ ??_EGlxDetailsDescriptionEdit@@UAE@I@Z @ 7 NONAME ; GlxDetailsDescriptionEdit::~GlxDetailsDescriptionEdit(unsigned int)
+ ?labelPressed@GlxDetailsDescriptionEdit@@IAEXXZ @ 8 NONAME ; void GlxDetailsDescriptionEdit::labelPressed(void)
+ ?metaObject@GlxDetailsDescriptionEdit@@UBEPBUQMetaObject@@XZ @ 9 NONAME ; struct QMetaObject const * GlxDetailsDescriptionEdit::metaObject(void) const
+ ?focusInEvent@GlxDetailsDescriptionEdit@@MAEXPAVQFocusEvent@@@Z @ 10 NONAME ; void GlxDetailsDescriptionEdit::focusInEvent(class QFocusEvent *)
+ ?trUtf8@GlxDetailsDescriptionEdit@@SA?AVQString@@PBD0H@Z @ 11 NONAME ; class QString GlxDetailsDescriptionEdit::trUtf8(char const *, char const *, int)
+ ?focusOutEvent@GlxDetailsDescriptionEdit@@MAEXPAVQFocusEvent@@@Z @ 12 NONAME ; void GlxDetailsDescriptionEdit::focusOutEvent(class QFocusEvent *)
+ ?tr@GlxDetailsDescriptionEdit@@SA?AVQString@@PBD0@Z @ 13 NONAME ; class QString GlxDetailsDescriptionEdit::tr(char const *, char const *)
+ ?getStaticMetaObject@GlxDetailsDescriptionEdit@@SAABUQMetaObject@@XZ @ 14 NONAME ; struct QMetaObject const & GlxDetailsDescriptionEdit::getStaticMetaObject(void)
+ ?setItemText@GlxDetailsDescriptionEdit@@QAEXABVQString@@@Z @ 15 NONAME ; void GlxDetailsDescriptionEdit::setItemText(class QString const &)
+ ?trUtf8@GlxDetailsDescriptionEdit@@SA?AVQString@@PBD0@Z @ 16 NONAME ; class QString GlxDetailsDescriptionEdit::trUtf8(char const *, char const *)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/bwins/detailsnamelabelu.def Wed Jun 23 18:12:48 2010 +0300
@@ -0,0 +1,18 @@
+EXPORTS
+ ??_EGlxDetailsNameLabel@@UAE@I@Z @ 1 NONAME ; GlxDetailsNameLabel::~GlxDetailsNameLabel(unsigned int)
+ ??1GlxDetailsNameLabel@@UAE@XZ @ 2 NONAME ; GlxDetailsNameLabel::~GlxDetailsNameLabel(void)
+ ?tr@GlxDetailsNameLabel@@SA?AVQString@@PBD0@Z @ 3 NONAME ; class QString GlxDetailsNameLabel::tr(char const *, char const *)
+ ?mousePressEvent@GlxDetailsNameLabel@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 4 NONAME ; void GlxDetailsNameLabel::mousePressEvent(class QGraphicsSceneMouseEvent *)
+ ?metaObject@GlxDetailsNameLabel@@UBEPBUQMetaObject@@XZ @ 5 NONAME ; struct QMetaObject const * GlxDetailsNameLabel::metaObject(void) const
+ ?getStaticMetaObject@GlxDetailsNameLabel@@SAABUQMetaObject@@XZ @ 6 NONAME ; struct QMetaObject const & GlxDetailsNameLabel::getStaticMetaObject(void)
+ ?staticMetaObject@GlxDetailsNameLabel@@2UQMetaObject@@B @ 7 NONAME ; struct QMetaObject const GlxDetailsNameLabel::staticMetaObject
+ ?qt_metacall@GlxDetailsNameLabel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 8 NONAME ; int GlxDetailsNameLabel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0GlxDetailsNameLabel@@QAE@PAVQGraphicsItem@@@Z @ 9 NONAME ; GlxDetailsNameLabel::GlxDetailsNameLabel(class QGraphicsItem *)
+ ?labelPressed@GlxDetailsNameLabel@@IAEXXZ @ 10 NONAME ; void GlxDetailsNameLabel::labelPressed(void)
+ ?setItemText@GlxDetailsNameLabel@@QAEXABVQString@@@Z @ 11 NONAME ; void GlxDetailsNameLabel::setItemText(class QString const &)
+ ?mouseReleaseEvent@GlxDetailsNameLabel@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 12 NONAME ; void GlxDetailsNameLabel::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
+ ?trUtf8@GlxDetailsNameLabel@@SA?AVQString@@PBD0H@Z @ 13 NONAME ; class QString GlxDetailsNameLabel::trUtf8(char const *, char const *, int)
+ ?trUtf8@GlxDetailsNameLabel@@SA?AVQString@@PBD0@Z @ 14 NONAME ; class QString GlxDetailsNameLabel::trUtf8(char const *, char const *)
+ ?tr@GlxDetailsNameLabel@@SA?AVQString@@PBD0H@Z @ 15 NONAME ; class QString GlxDetailsNameLabel::tr(char const *, char const *, int)
+ ?qt_metacast@GlxDetailsNameLabel@@UAEPAXPBD@Z @ 16 NONAME ; void * GlxDetailsNameLabel::qt_metacast(char const *)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/detailscustomwidget.pro Wed Jun 23 18:12:48 2010 +0300
@@ -0,0 +1,24 @@
+#/*
+#* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+#* All rights reserved.
+#* This component and the accompanying materials are made available
+#* under the terms of "Eclipse Public License v1.0"
+#* which accompanies this distribution, and is available
+#* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#*
+#* Initial Contributors:
+#* Nokia Corporation - initial contribution.
+#*
+#* Contributors:
+#*
+#* Description:
+#*
+#*/
+
+
+TEMPLATE = subdirs
+SUBDIRS += detailsnamelabel
+SUBDIRS += detailsnamelabelplugin
+SUBDIRS += detailsdescriptionedit
+SUBDIRS += detailsdescriptioneditplugin
+CONFIG += ordered
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/detailsdescriptionedit/detailsdescriptionedit.pro Wed Jun 23 18:12:48 2010 +0300
@@ -0,0 +1,60 @@
+#/*
+#* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+#* All rights reserved.
+#* This component and the accompanying materials are made available
+#* under the terms of "Eclipse Public License v1.0"
+#* which accompanies this distribution, and is available
+#* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#*
+#* Initial Contributors:
+#* Nokia Corporation - initial contribution.
+#*
+#* Contributors:
+#*
+#* Description:
+#*
+#*/
+
+
+TEMPLATE = lib
+TARGET = detailsdescriptionedit
+CONFIG += hb
+DEFINES += BUILD_DESCEDIT
+
+win32{
+CONFIG(release, debug|release){
+ TARGET = detailsdescriptionedit
+ DESTDIR = ../release # for easy plugin loading
+}else{
+ TARGET = detailsdescriptioneditd
+ DESTDIR = ../debug # for easy plugin loading
+ }
+}
+
+DEPENDPATH += ./inc \
+ ./src
+
+INCLUDEPATH += ./inc
+
+SOURCES += \
+ glxdetailsdescriptionedit.cpp
+
+HEADERS += \
+ glxdetailsdescriptionedit.h
+
+symbian {
+ TARGET.UID3 = 0x200071B9
+ TARGET.EPOCALLOWDLLDATA = 1
+ TARGET.CAPABILITY = CAP_GENERAL_DLL
+ LIBS += -lbafl
+}
+
+defBlock = \
+"$${LITERAL_HASH}if defined(EABI)" \
+"DEFFILE ../eabi/detailsdescriptionedit.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bwins/detailsdescriptionedit.def" \
+ "$${LITERAL_HASH}endif"
+
+MMP_RULES += defBlock
+# End of file --Don't remove this
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/detailsdescriptionedit/inc/glxdetailsdescriptionedit.h Wed Jun 23 18:12:48 2010 +0300
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: This is custom widget for details view in photos for displaying the description of image .
+*
+*/
+
+#ifndef GlXDETAILSDESCEDIT_H
+#define GlXDETAILSDESCEDIT_H
+
+#include <hbtextedit.h>
+
+#ifdef BUILD_DESCEDIT
+#define MY_EXPORT Q_DECL_EXPORT
+#else
+#define MY_EXPORT Q_DECL_IMPORT
+#endif
+
+class HbEditorInterface;
+class MY_EXPORT GlxDetailsDescriptionEdit : public HbTextEdit
+{
+ Q_OBJECT
+
+public:
+ GlxDetailsDescriptionEdit(QGraphicsItem *parent = NULL);
+ ~GlxDetailsDescriptionEdit();
+ void setItemText( const QString &text );
+
+protected:
+ void focusInEvent (QFocusEvent *event) ;
+ void focusOutEvent (QFocusEvent *event) ;
+
+
+signals :
+ void labelPressed();
+private:
+ HbEditorInterface *mDesc;
+};
+
+#endif // GlXDETAILSDESCEDIT_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/detailsdescriptionedit/src/glxdetailsdescriptionedit.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -0,0 +1,66 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: This is custom widget for details view in photos for displaying the description of image .
+*
+*/
+
+
+
+#include "glxdetailsdescriptionedit.h"
+#include <hbeditorinterface>
+#include <QEvent>
+
+
+
+void GlxDetailsDescriptionEdit::focusInEvent (QFocusEvent *event)
+ {
+ if(event->reason() == Qt::MouseFocusReason )
+ {
+ event->setAccepted(TRUE);
+ emit labelPressed();
+ }
+
+ }
+void GlxDetailsDescriptionEdit::focusOutEvent (QFocusEvent *event)
+ {
+ event->setAccepted(TRUE);
+ }
+
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//GlxDetailsDescLabel
+//--------------------------------------------------------------------------------------------------------------------------------------------
+GlxDetailsDescriptionEdit::GlxDetailsDescriptionEdit(QGraphicsItem *parent) : HbTextEdit( parent )
+{
+ setAlignment(Qt::AlignLeft);
+ mDesc = new HbEditorInterface(this);
+ mDesc->setInputConstraints (HbEditorConstraintIgnoreFocus);
+}
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//~GlxDetailsDescLabel
+//--------------------------------------------------------------------------------------------------------------------------------------------
+GlxDetailsDescriptionEdit::~GlxDetailsDescriptionEdit()
+{
+ delete mDesc;
+ mDesc = NULL;
+}
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//setItemText
+//--------------------------------------------------------------------------------------------------------------------------------------------
+void GlxDetailsDescriptionEdit::setItemText( const QString &text )
+{
+ setPlainText( text );
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/detailsdescriptioneditplugin/detailsdescriptioneditplugin.pro Wed Jun 23 18:12:48 2010 +0300
@@ -0,0 +1,67 @@
+#/*
+#* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+#* All rights reserved.
+#* This component and the accompanying materials are made available
+#* under the terms of "Eclipse Public License v1.0"
+#* which accompanies this distribution, and is available
+#* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#*
+#* Initial Contributors:
+#* Nokia Corporation - initial contribution.
+#*
+#* Contributors:
+#*
+#* Description:
+#*
+#*/
+
+TEMPLATE = lib
+TARGET = detailsdescriptioneditplugin
+
+win32{
+CONFIG(release, debug|release){
+ TARGET = detailsdescriptioneditplugin
+ } else {
+ TARGET = detailsdescriptioneditplugind
+ }
+}
+
+CONFIG += hb plugin
+
+win32{
+CONFIG(release, debug|release){
+ DESTDIR = ../release # for easy plugin loading
+ LIBS += -L../release -ldetailsdescriptionedit
+ } else {
+ DESTDIR = ../debug # for easy plugin loading
+ LIBS += -L../debug -ldetailsdescriptioneditd
+ }
+}
+
+SOURCES += \
+ main.cpp
+
+INCLUDEPATH += \
+ ../detailsdescriptionedit \
+ ../detailsdescriptionedit/inc
+
+symbian: {
+ TARGET.UID3 = 0x2000A774
+ TARGET.EPOCALLOWDLLDATA=1
+ TARGET.CAPABILITY = CAP_GENERAL_DLL
+
+ LIBS += \
+ -ldetailsdescriptionedit.dll
+
+ pluginstub.sources = detailsdescriptioneditplugin.dll
+ pluginstub.path = /resource/plugins
+ DEPLOYMENT += pluginstub
+ DESTDIR = $$HB_PLUGINS_DIR
+}
+
+!local {
+ target.path = $$HB_PLUGINS_DIR
+ INSTALLS += target
+}
+
+# End of file --Don't remove this.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/detailsdescriptioneditplugin/main.cpp Wed Jun 23 18:12:48 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: ??
+*
+*/
+
+
+#include "glxdetailsdescriptionedit.h"
+#include <QtPlugin>
+#include <hbdocumentloaderplugin.h>
+
+class GlxDetailsDescriptionEditPlugin : public HbDocumentLoaderPlugin
+{
+public:
+ QObject *createObject(const QString& type, const QString &name);
+ QList<const QMetaObject *> supportedObjects();
+};
+Q_EXPORT_PLUGIN(GlxDetailsDescriptionEditPlugin)
+
+QObject *GlxDetailsDescriptionEditPlugin::createObject(const QString& type, const QString &name )
+{
+ if( type == GlxDetailsDescriptionEdit::staticMetaObject.className() ) {
+ QObject *object = new GlxDetailsDescriptionEdit();
+ object->setObjectName(name);
+ return object;
+ }
+ return 0;
+}
+
+QList<const QMetaObject *> GlxDetailsDescriptionEditPlugin::supportedObjects()
+{
+ QList<const QMetaObject *> result;
+ result.append( &GlxDetailsDescriptionEdit::staticMetaObject );
+ return result;
+}
+
+// end of file
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/detailsnamelabel/detailsnamelabel.pro Wed Jun 23 18:12:48 2010 +0300
@@ -0,0 +1,60 @@
+#/*
+#* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+#* All rights reserved.
+#* This component and the accompanying materials are made available
+#* under the terms of "Eclipse Public License v1.0"
+#* which accompanies this distribution, and is available
+#* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#*
+#* Initial Contributors:
+#* Nokia Corporation - initial contribution.
+#*
+#* Contributors:
+#*
+#* Description:
+#*
+#*/
+
+TEMPLATE = lib
+TARGET = detailsnamelabel
+CONFIG += hb
+DEFINES += BUILD_NAMELABEL
+
+win32{
+CONFIG(release, debug|release){
+ TARGET = detailsnamelabel
+ DESTDIR = ../release # for easy plugin loading
+}else{
+ TARGET = detailsnamelabeld
+ DESTDIR = ../debug # for easy plugin loading
+ }
+}
+
+DEPENDPATH += ./inc \
+ ./src
+
+INCLUDEPATH += ./inc
+
+SOURCES += \
+ glxdetailsnamelabel.cpp
+
+HEADERS += \
+ glxdetailsnamelabel.h
+
+symbian {
+ TARGET.UID3 = 0x2000A7BC
+ TARGET.EPOCALLOWDLLDATA = 1
+ TARGET.CAPABILITY = CAP_GENERAL_DLL
+ LIBS += -lbafl
+}
+
+defBlock = \
+"$${LITERAL_HASH}if defined(EABI)" \
+"DEFFILE ../eabi/detailsnamelabel.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bwins/detailsnamelabel.def" \
+ "$${LITERAL_HASH}endif"
+
+MMP_RULES += defBlock
+
+# End of file --Don't remove this
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/detailsnamelabel/inc/glxdetailsnamelabel.h Wed Jun 23 18:12:48 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: ?Description
+*
+*/
+
+#ifndef GlXDETAILSNAMELABEL_H
+#define GlXDETAILSNAMELABEL_H
+
+#include <hblabel.h>
+
+#ifdef BUILD_NAMELABEL
+#define MY_EXPORT Q_DECL_EXPORT
+#else
+#define MY_EXPORT Q_DECL_IMPORT
+#endif
+
+
+class MY_EXPORT GlxDetailsNameLabel : public HbLabel
+{
+ Q_OBJECT
+
+public:
+ GlxDetailsNameLabel(QGraphicsItem *parent = NULL);
+ ~GlxDetailsNameLabel();
+ void setItemText( const QString &text );
+
+protected:
+ void mousePressEvent(QGraphicsSceneMouseEvent *event);
+ void mouseReleaseEvent (QGraphicsSceneMouseEvent *event);
+
+signals :
+ void labelPressed();
+
+};
+
+#endif // GlXDETAILSNAMELABEL_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/detailsnamelabel/src/glxdetailsnamelabel.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -0,0 +1,67 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: ?Description
+*
+*/
+
+
+#include <hblabel.h>
+#include "glxdetailsnamelabel.h"
+#include <QEvent>
+#include <QDebug>
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//mousePressEvent
+//--------------------------------------------------------------------------------------------------------------------------------------------
+void GlxDetailsNameLabel::mousePressEvent(QGraphicsSceneMouseEvent *event)
+{
+ Q_UNUSED(event)
+}
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//mouseReleaseEvent
+//--------------------------------------------------------------------------------------------------------------------------------------------
+void GlxDetailsNameLabel::mouseReleaseEvent (QGraphicsSceneMouseEvent *event)
+{
+ qDebug("GlxDetailsNameLabel::mouseReleaseEvent");
+ Q_UNUSED(event)
+ emit labelPressed();
+}
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//GlxDetailsNameLabel
+//--------------------------------------------------------------------------------------------------------------------------------------------
+GlxDetailsNameLabel::GlxDetailsNameLabel(QGraphicsItem *parent) : HbLabel( parent )
+{
+ qDebug("GlxDetailsNameLabel::GlxDetailsNameLabel");
+ setTextWrapping(Hb::TextWordWrap);
+ setAlignment(Qt::AlignHCenter);
+}
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//~GlxDetailsCustomLabel
+//--------------------------------------------------------------------------------------------------------------------------------------------
+GlxDetailsNameLabel::~GlxDetailsNameLabel()
+{
+
+}
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//setItemText
+//--------------------------------------------------------------------------------------------------------------------------------------------
+void GlxDetailsNameLabel::setItemText( const QString &text )
+{
+ qDebug("GlxDetailsNameLabel::setItemText");
+ setHtml(text);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/detailsnamelabelplugin/detailsnamelabelplugin.pro Wed Jun 23 18:12:48 2010 +0300
@@ -0,0 +1,67 @@
+#/*
+#* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+#* All rights reserved.
+#* This component and the accompanying materials are made available
+#* under the terms of "Eclipse Public License v1.0"
+#* which accompanies this distribution, and is available
+#* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#*
+#* Initial Contributors:
+#* Nokia Corporation - initial contribution.
+#*
+#* Contributors:
+#*
+#* Description:
+#*
+#*/
+
+TEMPLATE = lib
+TARGET = detailsnamelabelplugin
+
+win32{
+CONFIG(release, debug|release){
+ TARGET = detailsnamelabelplugin
+ } else {
+ TARGET = detailsnamelabelplugind
+ }
+}
+
+CONFIG += hb plugin
+
+win32{
+CONFIG(release, debug|release){
+ DESTDIR = ../release # for easy plugin loading
+ LIBS += -L../release -ldetailsnamelabel
+ } else {
+ DESTDIR = ../debug # for easy plugin loading
+ LIBS += -L../debug -ldetailsnamelabeld
+ }
+}
+
+SOURCES += \
+ main.cpp
+
+INCLUDEPATH += \
+ ../detailsnamelabel \
+ ../detailsnamelabel/inc
+
+symbian: {
+ TARGET.UID3 = 0x200071B7
+ TARGET.EPOCALLOWDLLDATA=1
+ TARGET.CAPABILITY = CAP_GENERAL_DLL
+
+ LIBS += \
+ -ldetailsnamelabel.dll
+
+ pluginstub.sources = detailsnamelabelplugin.dll
+ pluginstub.path = /resource/plugins
+ DEPLOYMENT += pluginstub
+ DESTDIR = $$HB_PLUGINS_DIR
+}
+
+!local {
+ target.path = $$HB_PLUGINS_DIR
+ INSTALLS += target
+}
+
+# End of file --Don't remove this.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/detailsnamelabelplugin/main.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: ?Description
+*
+*/
+
+
+#include "glxdetailsnamelabel.h"
+#include <QtPlugin>
+#include <hbdocumentloaderplugin.h>
+#include <QDebug>
+
+class GlxDetailsNameLabelPlugin : public HbDocumentLoaderPlugin
+{
+public:
+ QObject *createObject(const QString& type, const QString &name);
+ QList<const QMetaObject *> supportedObjects();
+};
+Q_EXPORT_PLUGIN(GlxDetailsNameLabelPlugin)
+
+QObject *GlxDetailsNameLabelPlugin::createObject(const QString& type, const QString &name )
+{
+ qDebug("GlxDetailsNameLabelPlugin::createObject");
+ if( type == GlxDetailsNameLabel::staticMetaObject.className() ) {
+
+ qDebug("GlxDetailsNameLabelPlugin::createObject created");
+ QObject *object = new GlxDetailsNameLabel();
+ object->setObjectName(name);
+ return object;
+ }
+ return 0;
+}
+
+QList<const QMetaObject *> GlxDetailsNameLabelPlugin::supportedObjects()
+{
+ qDebug("GlxDetailsNameLabelPlugin::supportedObjects");
+ QList<const QMetaObject *> result;
+ result.append( &GlxDetailsNameLabel::staticMetaObject );
+ return result;
+}
+
+// end of file
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/eabi/detailsdescriptioneditu.def Wed Jun 23 18:12:48 2010 +0300
@@ -0,0 +1,24 @@
+EXPORTS
+ _ZN25GlxDetailsDescriptionEdit11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
+ _ZN25GlxDetailsDescriptionEdit11qt_metacastEPKc @ 2 NONAME
+ _ZN25GlxDetailsDescriptionEdit11setItemTextERK7QString @ 3 NONAME
+ _ZN25GlxDetailsDescriptionEdit12focusInEventEP11QFocusEvent @ 4 NONAME
+ _ZN25GlxDetailsDescriptionEdit12labelPressedEv @ 5 NONAME
+ _ZN25GlxDetailsDescriptionEdit13focusOutEventEP11QFocusEvent @ 6 NONAME
+ _ZN25GlxDetailsDescriptionEdit16staticMetaObjectE @ 7 NONAME DATA 16
+ _ZN25GlxDetailsDescriptionEdit19getStaticMetaObjectEv @ 8 NONAME
+ _ZN25GlxDetailsDescriptionEditC1EP13QGraphicsItem @ 9 NONAME
+ _ZN25GlxDetailsDescriptionEditC2EP13QGraphicsItem @ 10 NONAME
+ _ZN25GlxDetailsDescriptionEditD0Ev @ 11 NONAME
+ _ZN25GlxDetailsDescriptionEditD1Ev @ 12 NONAME
+ _ZN25GlxDetailsDescriptionEditD2Ev @ 13 NONAME
+ _ZNK25GlxDetailsDescriptionEdit10metaObjectEv @ 14 NONAME
+ _ZTI25GlxDetailsDescriptionEdit @ 15 NONAME
+ _ZTV25GlxDetailsDescriptionEdit @ 16 NONAME
+ _ZThn16_N25GlxDetailsDescriptionEditD0Ev @ 17 NONAME
+ _ZThn16_N25GlxDetailsDescriptionEditD1Ev @ 18 NONAME
+ _ZThn8_N25GlxDetailsDescriptionEdit12focusInEventEP11QFocusEvent @ 19 NONAME
+ _ZThn8_N25GlxDetailsDescriptionEdit13focusOutEventEP11QFocusEvent @ 20 NONAME
+ _ZThn8_N25GlxDetailsDescriptionEditD0Ev @ 21 NONAME
+ _ZThn8_N25GlxDetailsDescriptionEditD1Ev @ 22 NONAME
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/detailscustomwidget/eabi/detailsnamelabelu.def Wed Jun 23 18:12:48 2010 +0300
@@ -0,0 +1,24 @@
+EXPORTS
+ _ZN19GlxDetailsNameLabel11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
+ _ZN19GlxDetailsNameLabel11qt_metacastEPKc @ 2 NONAME
+ _ZN19GlxDetailsNameLabel11setItemTextERK7QString @ 3 NONAME
+ _ZN19GlxDetailsNameLabel12labelPressedEv @ 4 NONAME
+ _ZN19GlxDetailsNameLabel15mousePressEventEP24QGraphicsSceneMouseEvent @ 5 NONAME
+ _ZN19GlxDetailsNameLabel16staticMetaObjectE @ 6 NONAME DATA 16
+ _ZN19GlxDetailsNameLabel17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 7 NONAME
+ _ZN19GlxDetailsNameLabel19getStaticMetaObjectEv @ 8 NONAME
+ _ZN19GlxDetailsNameLabelC1EP13QGraphicsItem @ 9 NONAME
+ _ZN19GlxDetailsNameLabelC2EP13QGraphicsItem @ 10 NONAME
+ _ZN19GlxDetailsNameLabelD0Ev @ 11 NONAME
+ _ZN19GlxDetailsNameLabelD1Ev @ 12 NONAME
+ _ZN19GlxDetailsNameLabelD2Ev @ 13 NONAME
+ _ZNK19GlxDetailsNameLabel10metaObjectEv @ 14 NONAME
+ _ZTI19GlxDetailsNameLabel @ 15 NONAME
+ _ZTV19GlxDetailsNameLabel @ 16 NONAME
+ _ZThn16_N19GlxDetailsNameLabelD0Ev @ 17 NONAME
+ _ZThn16_N19GlxDetailsNameLabelD1Ev @ 18 NONAME
+ _ZThn8_N19GlxDetailsNameLabel15mousePressEventEP24QGraphicsSceneMouseEvent @ 19 NONAME
+ _ZThn8_N19GlxDetailsNameLabel17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 20 NONAME
+ _ZThn8_N19GlxDetailsNameLabelD0Ev @ 21 NONAME
+ _ZThn8_N19GlxDetailsNameLabelD1Ev @ 22 NONAME
+
--- a/ui/inc/glxcommandhandlers.hrh Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/inc/glxcommandhandlers.hrh Wed Jun 23 18:12:48 2010 +0300
@@ -115,8 +115,7 @@
EGlxCmdContextSend,
EGlxCmdContextRename,
EGlxCmdSetupItem,
- EGlxCmdAppBackground, //when application goes into background
- EGlxCmdAppForeground, //when application comes into foreground
+ EGlxCmdComment,
EGlxCmdAiwBase = 0x6000
};
--- a/ui/inc/glxdocloaderdefs.h Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/inc/glxdocloaderdefs.h Wed Jun 23 18:12:48 2010 +0300
@@ -30,6 +30,7 @@
#define GLXFULLSCREENZOOMWIDGET "glxZoomWidget"
#define GLXFULLSCREENDOCMLPATH ":/data/fullscreen.docml"
+
//SLIDE SHOW
#define GLXSLIDESHOW_VIEW "mglxslideshow"
#define GLXSLIDESHOW_WIDGET "mslideshowwidget"
@@ -48,4 +49,19 @@
#define GLX_LISTVIEW_LIST "listview"
#define GLX_LISTVIEW_DOCMLPATH ":/data/listview.docml"
+//DETAILS VIEW
+#define GLX_DETAILSVIEW_DOCMLPATH ":/data/detailsview.docml"
+#define GLX_DETAILSVIEW_VIEW "view"
+#define GLX_DETAILSVIEW_IMAGE "ImageIcon"
+#define GLX_DETAILSVIEW_FAVICON "FavIcon"
+#define GLX_DETAILSVIEW_IMGNAME "ImageName"
+#define GLX_DETAILSVIEW_DATETEXT "DateText"
+#define GLX_DETAILSVIEW_SIZETEXT "SizeText"
+#define GLX_DETAILSVIEW_TIMETEXT "TimeText"
+#define GLX_DETAILSVIEW_DESCRPTION "Descriptions"
+#define GLX_DETAILSVIEW_DESCRPTIONTEXT "DescriptionsText"
+#define GLX_DETAILSVIEW_LSSECTION "landscape"
+#define GLX_DETAILSVIEW_PTSECTION "portrait"
+
+
#endif /* GLXDOCLOADERDEFS_H */
--- a/ui/inc/glxmodelparm.h Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/inc/glxmodelparm.h Wed Jun 23 18:12:48 2010 +0300
@@ -22,31 +22,7 @@
#include<glxfiltergeneraldefs.h>
#include<glxuistd.h>
-
-enum
-{
- GlxHgVisibilityRole = Qt::UserRole + 1, // VisibilityRole For MediaWall , Dont Change This Value - Depedency To HgWidget
- GlxFsImageRole, //to get the fullscreen image
- GlxContextRole, //to get and set the context
- GlxFocusIndexRole, //to get and set the selected item index
- GlxVisualWindowIndex, //to set the visual window index in media list
- GlxUriRole, //to get the URI of the image
- GlxDimensionsRole,
- GlxSelectedIndexRole, //to get and set the seleceted item list
- GlxDateRole, //to get the image created or modified date
- GlxFrameCount, //to get the number of frame in an image
- GlxSubStateRole, //to publish the sub state of a SM states
- GlxHdmiBitmap, //to get the pre decoded thumbnail for HDMI
- GlxListItemCount, //to get the number of item in the album list
- GlxSystemItemRole, //to get the item is system item or not
- GlxFavorites, //to get the image is in favorites folder or not
- GlxQImageSmall, //To Get Grid Thumbnail as QImage
- GlxQImageLarge, //To Get FullScreen Thumbnail as QImage
- GlxDefaultImage, //To Get Default Thumbnail
- GlxViewTitle,
- GlxPopulated
-};
-
+#include<glxmodelroles.h>
class GlxModelParm
{
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/inc/glxmodelroles.h Wed Jun 23 18:12:48 2010 +0300
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: ?Description
+*
+*/
+
+
+
+#ifndef GLXMODELROLES_H
+#define GLXMODELROLES_H
+enum
+{
+ GlxHgVisibilityRole = Qt::UserRole + 1, // VisibilityRole For MediaWall , Dont Change This Value - Depedency To HgWidget
+ GlxFsImageRole, //to get the fullscreen image
+ GlxContextRole, //to get and set the context
+ GlxFocusIndexRole, //to get and set the selected item index
+ GlxVisualWindowIndex, //to set the visual window index in media list
+ GlxUriRole, //to get the URI of the image
+ GlxDimensionsRole,
+ GlxSelectedIndexRole, //to get and set the seleceted item list
+ GlxDateRole, //to get the image created or modified date
+ GlxFrameCount, //to get the number of frame in an image
+ GlxSubStateRole, //to publish the sub state of a SM states
+ GlxHdmiBitmap, //to get the pre decoded thumbnail for HDMI
+ GlxListItemCount, //to get the number of item in the album list
+ GlxSystemItemRole, //to get the item is system item or not
+ GlxFavorites, //to get the image is in favorites folder or not
+ GlxQImageSmall, //To Get Grid Thumbnail as QImage
+ GlxQImageLarge, //To Get FullScreen Thumbnail as QImage
+ GlxDefaultImage, //To Get Default Thumbnail
+ GlxViewTitle,
+ GlxPopulated,
+ 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
+};
+
+
+#endif
--- a/ui/inc/glxuistd.h Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/inc/glxuistd.h Wed Jun 23 18:12:48 2010 +0300
@@ -41,7 +41,8 @@
GlxContextLsList,
GlxContextPtList,
GlxContextSelectionList,
- GlxContextFavorite
+ GlxContextFavorite,
+ GlxContextComment //to fetch the description
};
enum GlxTBContextType
--- a/ui/ui.pro Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/ui.pro Wed Jun 23 18:12:48 2010 +0300
@@ -16,7 +16,12 @@
#*/
TEMPLATE = subdirs
CONFIG += ordered
-SUBDIRS = uiengine \
+
+exportfile += "inc/glxmodelroles.h APP_LAYER_PLATFORM_EXPORT_PATH(glxmodelroles.h)"
+BLD_INF_RULES.prj_exports += exportfile
+
+SUBDIRS = detailscustomwidget \
+ uiengine \
commandhandlers \
viewutilities \
widgets \
--- a/ui/uiengine/bwins/glxmedialistwrapperu.def Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/uiengine/bwins/glxmedialistwrapperu.def Wed Jun 23 18:12:48 2010 +0300
@@ -48,4 +48,10 @@
??0GlxMLWrapper@@QAE@HHW4TGlxFilterItemType@@VQString@@@Z @ 47 NONAME ; GlxMLWrapper::GlxMLWrapper(int, int, enum TGlxFilterItemType, class QString)
?itemsAdded@GlxMLWrapper@@QAEXHH@Z @ 48 NONAME ; void GlxMLWrapper::itemsAdded(int, int)
?retrieveItemIcon@GlxMLWrapper@@QAEPAVHbIcon@@HW4GlxTBContextType@@@Z @ 49 NONAME ; class HbIcon * GlxMLWrapper::retrieveItemIcon(int, enum GlxTBContextType)
+ ?retrieveItemSize@GlxMLWrapper@@QAEHH@Z @ 50 NONAME ; int GlxMLWrapper::retrieveItemSize(int)
+ ?retrieveItemTime@GlxMLWrapper@@QAE?AVQTime@@H@Z @ 51 NONAME ; class QTime GlxMLWrapper::retrieveItemTime(int)
+ ?retrieveListDesc@GlxMLWrapper@@QAE?AVQString@@H@Z @ 52 NONAME ; class QString GlxMLWrapper::retrieveListDesc(int)
+ ?removeContextMode@GlxMLWrapper@@QAEXW4GlxContextMode@@@Z @ 53 NONAME ; void GlxMLWrapper::removeContextMode(enum GlxContextMode)
+ ?updateDetails@GlxMLWrapper@@IAEXXZ @ 54 NONAME ; void GlxMLWrapper::updateDetails(void)
+ ?handleDetailsItemAvailable@GlxMLWrapper@@QAEXH@Z @ 55 NONAME ; void GlxMLWrapper::handleDetailsItemAvailable(int)
--- a/ui/uiengine/eabi/glxmedialistwrapperu.def Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/uiengine/eabi/glxmedialistwrapperu.def Wed Jun 23 18:12:48 2010 +0300
@@ -45,4 +45,10 @@
_ZNK12GlxMLWrapper13getFocusIndexEv @ 44 NONAME
_ZTI12GlxMLWrapper @ 45 NONAME
_ZTV12GlxMLWrapper @ 46 NONAME
+ _ZN12GlxMLWrapper16retrieveItemSizeEi @ 47 NONAME
+ _ZN12GlxMLWrapper16retrieveItemTimeEi @ 48 NONAME
+ _ZN12GlxMLWrapper16retrieveListDescEi @ 49 NONAME
+ _ZN12GlxMLWrapper17removeContextModeE14GlxContextMode @ 50 NONAME
+ _ZN12GlxMLWrapper13updateDetailsEv @ 51 NONAME
+ _ZN12GlxMLWrapper26handleDetailsItemAvailableEi @ 52 NONAME
--- a/ui/uiengine/medialistwrapper/inc/glxmlwrapper.h Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/uiengine/medialistwrapper/inc/glxmlwrapper.h Wed Jun 23 18:12:48 2010 +0300
@@ -61,6 +61,11 @@
* for setting the attribute context mode will be used mainly for retreiving thumbnail of different sizes.
*/
void setContextMode(GlxContextMode contextMode);
+ /**
+ * for removing the contect once it is not rquired anymore
+ */
+ void removeContextMode(GlxContextMode contextMode);
+
/**
* for retreiving the data Count.
*/
@@ -76,6 +81,7 @@
void handleIconCorrupt(int itemIndex);
void handleGeneralError(int error);
void handleListItemAvailable(int itemIndex);
+ void handleDetailsItemAvailable(int itemIndex);
int getFocusIndex() const;
void setFocusIndex(int itemIndex);
@@ -83,11 +89,26 @@
QString retrieveListTitle(int index);
QString retrieveListSubTitle(int index);
+ /*
+ * fetches the comments entered for the image
+ */
+ QString retrieveListDesc(int index);
int getVisibleWindowIndex();
void setVisibleWindowIndex(int itemIndex);
QString retrieveItemUri(int index);
QSize retrieveItemDimension(int index);
+ /*
+ * fetches the size for the image
+ */
+ int retrieveItemSize(int index);
+ /*
+ * fetches the date for the image
+ */
QDate retrieveItemDate(int index);
+ /*
+ * fetches the time for the image
+ */
+ QTime retrieveItemTime(int index);
int retrieveItemFrameCount(int index);
QString retrieveViewTitle();
void handlepopulated();
@@ -116,6 +137,10 @@
void itemCorrupted(int itemIndex);
void updateAlbumTitle(QString aTitle);
void populated();
+ /*
+ * emits the signal to update details view
+ */
+ void updateDetails();
private:
GlxMLWrapperPrivate* mMLWrapperPrivate;
--- a/ui/uiengine/medialistwrapper/inc/glxmlwrapper_p.h Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/uiengine/medialistwrapper/inc/glxmlwrapper_p.h Wed Jun 23 18:12:48 2010 +0300
@@ -59,6 +59,12 @@
* for setting the attribute context mode will be used mainly for retreiving thumbnail of different sizes.
*/
void SetContextMode(GlxContextMode aContextMode);
+
+ /*
+ * For removing the contect used
+ */
+ void RemoveContextMode(GlxContextMode aContextMode);
+
/**
* for retreiving the Media List Count.
*/
@@ -111,14 +117,21 @@
HbIcon* RetrieveItemIcon(int index, GlxTBContextType aTBContextType);
QImage RetrieveItemImage(int index, GlxTBContextType aTBContextType);
QString RetrieveListTitle(int index);
+ QString RetrieveListDesc(int index);
QString RetrieveListSubTitle(int index);
QString RetrieveItemUri(int index);
QSize RetrieveItemDimension(int index);
+ int RetrieveItemSize(int index);
QDate RetrieveItemDate(int index);
+ QTime RetrieveItemTime(int index);
int RetrieveItemFrameCount(int aItemIndex);
CFbsBitmap* RetrieveBitmap(int aItemIndex);
int RetrieveListItemCount( int aItemIndex );
bool isSystemItem( int aItemIndex );
+ /*
+ *Sets the context for fetcing comments
+ */
+ void SetDescontextL();
QString RetrieveViewTitle();
bool IsPopulated();
@@ -152,6 +165,7 @@
void RemovePtFsContext();
void RemoveListContext();
void RemoveFavouriteContext();
+ void RemoveDescContext();
//for the attribute filtering
TInt CheckTBAttributesPresenceandSanity(TInt aItemIndex,
const RArray<TMPXAttribute>& aAttributes, TMPXAttribute aThumbnailAttribute );
@@ -160,6 +174,10 @@
void CheckLsFsTBAttribute(TInt aItemIndex, const RArray<TMPXAttribute>& aAttributes);
void CheckListAttributes(TInt aItemIndex, const RArray<TMPXAttribute>& aAttributes);
/*
+ * to check the attributes returned for details view is present
+ */
+ void CheckDetailsAttributes(TInt aItemIndex, const RArray<TMPXAttribute>& aAttributes);
+ /*
* convert the CFbsbitmap to HbIcon
*/
HbIcon *convertFBSBitmapToHbIcon(CFbsBitmap* aBitmap);
@@ -185,7 +203,6 @@
CGlxDefaultThumbnailContext* iLsFsThumbnailContext;
CGlxDefaultThumbnailContext* iFocusFsThumbnailContext;
CGlxDefaultThumbnailContext* iFocusGridThumbnailContext;
- CGlxThumbnailContext* iFilmStripThumbnailContext;
//List related contexts
// Fetch context for retrieving title attribute
@@ -197,6 +214,9 @@
//to find if the image is in favorites or not
CGlxDefaultAttributeContext *iFavouriteContext;
+ //To fetch the details
+ CGlxDefaultAttributeContext *iDescContext;
+
CGlxThumbnailContext* iListThumbnailContext;
// for thumbnail context
TGlxFromVisibleIndexOutwardListIterator iThumbnailIterator;
@@ -212,6 +232,7 @@
TBool iPtFsContextActivated;
TBool iLsListContextActivated; //currently not used as we have not implemented the logic for 3 thumbnails
TBool iPtListContextActivated;
+ TBool iDetailsContextActivated; //this is to fetch the comments attributes
TBool iSelectionListContextActivated;
CGlxTitleFetcher* iTitleFetcher;
QImage iCorruptImage;
--- a/ui/uiengine/medialistwrapper/medialistwrapper.pro Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/uiengine/medialistwrapper/medialistwrapper.pro Wed Jun 23 18:12:48 2010 +0300
@@ -51,4 +51,13 @@
src/glxattributeretriever.cpp \
src/glxtitlefetcher.cpp
-DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
\ No newline at end of file
+DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
+
+defBlock = \
+"$${LITERAL_HASH}if defined(EABI)" \
+"DEFFILE ../eabi/glxmedialistwrapper.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bwins/glxmedialistwrapper.def" \
+ "$${LITERAL_HASH}endif"
+
+MMP_RULES += defBlock
--- a/ui/uiengine/medialistwrapper/src/glxmlwrapper.cpp Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/uiengine/medialistwrapper/src/glxmlwrapper.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -52,6 +52,17 @@
}
// ---------------------------------------------------------------------------
+// removeContextMode.
+// ---------------------------------------------------------------------------
+//
+void GlxMLWrapper::removeContextMode(GlxContextMode contextMode)
+{
+ mMLWrapperPrivate->RemoveContextMode(contextMode);
+}
+
+
+
+// ---------------------------------------------------------------------------
// getItemCount.
// ---------------------------------------------------------------------------
//
@@ -92,6 +103,16 @@
{
return (mMLWrapperPrivate->RetrieveListSubTitle(index));
}
+
+// ---------------------------------------------------------------------------
+// retrieveListDesc.
+// ---------------------------------------------------------------------------
+//
+QString GlxMLWrapper::retrieveListDesc(int index)
+{
+ return (mMLWrapperPrivate->RetrieveListDesc(index));
+}
+
// ---------------------------------------------------------------------------
// retrieveItemUri.
// ---------------------------------------------------------------------------
@@ -109,11 +130,34 @@
return (mMLWrapperPrivate->RetrieveItemDimension(index));
}
+// ---------------------------------------------------------------------------
+// retrieveItemSize.
+// ---------------------------------------------------------------------------
+//
+int GlxMLWrapper::retrieveItemSize(int index)
+{
+ return (mMLWrapperPrivate->RetrieveItemSize(index));
+}
+
+// ---------------------------------------------------------------------------
+// retrieveItemDate.
+// ---------------------------------------------------------------------------
+//
QDate GlxMLWrapper::retrieveItemDate(int index)
{
return (mMLWrapperPrivate->RetrieveItemDate(index));
}
+// ---------------------------------------------------------------------------
+// retrieveItemTime.
+// ---------------------------------------------------------------------------
+//
+QTime GlxMLWrapper::retrieveItemTime(int index)
+{
+ return (mMLWrapperPrivate->RetrieveItemTime(index));
+}
+
+
int GlxMLWrapper::retrieveItemFrameCount(int index)
{
return (mMLWrapperPrivate->RetrieveItemFrameCount(index));
@@ -245,6 +289,16 @@
// ---------------------------------------------------------------------------
+// handleDetailsItemAvailable.
+// ---------------------------------------------------------------------------
+//
+void GlxMLWrapper::handleDetailsItemAvailable(int itemIndex)
+{
+
+ emit updateDetails();
+}
+
+// ---------------------------------------------------------------------------
// handleGeneralError.
// ---------------------------------------------------------------------------
//
--- a/ui/uiengine/medialistwrapper/src/glxmlwrapper_p.cpp Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/uiengine/medialistwrapper/src/glxmlwrapper_p.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -34,8 +34,6 @@
#include <glxattributecontext.h>
#include <glxuistd.h>
#include <glxlistdefs.h>
-#include <hal.h>
-#include <hal_data.h>
#include <glxmediaid.h>
#include <caf/caferr.h>
//internal includes
@@ -88,11 +86,15 @@
// might leave.
// ---------------------------------------------------------------------------
//
-GlxMLWrapperPrivate::GlxMLWrapperPrivate(GlxMLWrapper* aMLWrapper): iMLWrapper(aMLWrapper),
- iGridContextActivated(EFalse), iLsFsContextActivated(EFalse),
- iPtFsContextActivated(EFalse), iPtListContextActivated(EFalse),
- iSelectionListContextActivated(EFalse)
- {
+GlxMLWrapperPrivate::GlxMLWrapperPrivate(GlxMLWrapper* aMLWrapper)
+ : iMLWrapper(aMLWrapper),
+ iGridContextActivated(EFalse),
+ iLsFsContextActivated(EFalse),
+ iPtFsContextActivated(EFalse),
+ iPtListContextActivated(EFalse),
+ iSelectionListContextActivated(EFalse),
+ iDetailsContextActivated(EFalse)
+{
TRACER("GlxMLWrapperPrivate::GlxMLWrapperPrivate");
iGridThumbnailContext = NULL;
iPtFsThumbnailContext = NULL;
@@ -102,7 +104,6 @@
iListThumbnailContext = NULL;
iFocusGridThumbnailContext = NULL;
iFocusFsThumbnailContext = NULL;
- iFilmStripThumbnailContext = NULL;
iFavouriteContext = NULL;
iTitleFetcher = NULL;
iViewTitle = QString();
@@ -163,9 +164,13 @@
{
TRAP(err, SetThumbnailContextL(aContextMode) ); //todo add a trap here
}
- else if(aContextMode == GlxContextFavorite)
+ else if(aContextMode == GlxContextFavorite)
+ {
+ TRAP(err,SetFavouriteContextL());
+ }
+ else if(aContextMode == GlxContextComment)
{
- TRAP(err,SetFavouriteContextL());
+ TRAP(err,SetDescontextL());
}
else
{
@@ -177,6 +182,17 @@
}
// ---------------------------------------------------------------------------
+// RemoveContextMode
+// ---------------------------------------------------------------------------
+//
+void GlxMLWrapperPrivate::RemoveContextMode(GlxContextMode aContextMode)
+{
+ if(aContextMode == GlxContextComment)
+ {
+ RemoveDescContext();
+ }
+}
+// ---------------------------------------------------------------------------
// SetFavouriteContextL
// ---------------------------------------------------------------------------
//
@@ -279,9 +295,9 @@
}
if(aContextMode == GlxContextLsFs && !iLsFsContextActivated) {
- if(iGridContextActivated) {
- RemoveGridContext();
- }
+ if(!iGridContextActivated) {
+ CreateGridContextL();
+ }
if(iPtFsContextActivated) {
RemovePtFsContext();
}
@@ -289,9 +305,9 @@
}
if(aContextMode == GlxContextPtFs && !iPtFsContextActivated) {
- if(iGridContextActivated) {
- RemoveGridContext();
- }
+ if(!iGridContextActivated) {
+ CreateGridContextL();
+ }
if(iLsFsContextActivated) {
RemoveLsFsContext();
}
@@ -358,18 +374,11 @@
iFocusGridThumbnailContext->SetDefaultSpec( KGridTNWIdth, KGridTNHeight ); //todo get these image sizes from the layout.
}
- if(!iFilmStripThumbnailContext)
- {
- iFilmStripThumbnailContext = CGlxThumbnailContext::NewL( &iBlockyIteratorForFilmStrip ); // set the thumbnail context for Focus Grid
- iFilmStripThumbnailContext->SetDefaultSpec( KGridTNWIdth, KGridTNHeight ); //todo get these image sizes from the layout.
- }
-
// show static items if required
iMediaList->SetStaticItemsEnabled(EFalse);
- iMediaList->AddContextL(iFocusFsThumbnailContext, 8 ); // Temp will change this number
- iMediaList->AddContextL(iFocusGridThumbnailContext, 9 ); // Temp will change this number
- iMediaList->AddContextL(iFilmStripThumbnailContext, 7 ); // Temp will change this number
- iMediaList->AddContextL(iLsFsThumbnailContext, KGlxFetchContextPriorityGridViewFullscreenVisibleThumbnail );
+ iMediaList->AddContextL(iFocusFsThumbnailContext, KGlxFetchContextPriorityNormal ); // Temp will change this number
+ iMediaList->AddContextL(iFocusGridThumbnailContext, KGlxFetchContextPriorityNormal ); // Temp will change this number
+ iMediaList->AddContextL(iLsFsThumbnailContext, KGlxFetchContextPriorityNormal );
iLsFsContextActivated = ETrue;
}
}
@@ -405,18 +414,11 @@
iFocusGridThumbnailContext->SetDefaultSpec( KGridTNWIdth, KGridTNHeight ); //todo get these image sizes from the layout.
}
- if(!iFilmStripThumbnailContext)
- {
- iFilmStripThumbnailContext = CGlxThumbnailContext::NewL( &iBlockyIteratorForFilmStrip ); // set the thumbnail context for Focus Grid
- iFilmStripThumbnailContext->SetDefaultSpec( KGridTNPTWIdth, KGridTNPTHeight ); //todo get these image sizes from the layout.
- }
-
// show static items if required
iMediaList->SetStaticItemsEnabled(EFalse);
- iMediaList->AddContextL(iFocusFsThumbnailContext, 8 ); // Temp will change this number
- iMediaList->AddContextL(iFocusGridThumbnailContext, 9 ); // Temp will change this number
- iMediaList->AddContextL(iFilmStripThumbnailContext, 7 ); // Temp will change this number
- iMediaList->AddContextL(iPtFsThumbnailContext, KGlxFetchContextPriorityGridViewFullscreenVisibleThumbnail );
+ iMediaList->AddContextL(iFocusFsThumbnailContext, KGlxFetchContextPriorityNormal ); // Temp will change this number
+ iMediaList->AddContextL(iFocusGridThumbnailContext, KGlxFetchContextPriorityNormal ); // Temp will change this number
+ iMediaList->AddContextL(iPtFsThumbnailContext, KGlxFetchContextPriorityNormal );
iPtFsContextActivated = ETrue;
}
}
@@ -463,12 +465,6 @@
delete iFocusGridThumbnailContext;
iFocusGridThumbnailContext = NULL;
}
- if(iFilmStripThumbnailContext)
- {
- iMediaList->RemoveContext(iFilmStripThumbnailContext);
- delete iFilmStripThumbnailContext;
- iFilmStripThumbnailContext = NULL;
- }
iLsFsContextActivated = EFalse;
}
@@ -499,12 +495,6 @@
delete iFocusGridThumbnailContext;
iFocusGridThumbnailContext = NULL;
}
- if(iFilmStripThumbnailContext)
- {
- iMediaList->RemoveContext(iFilmStripThumbnailContext);
- delete iFilmStripThumbnailContext;
- iFilmStripThumbnailContext = NULL;
- }
iPtFsContextActivated = EFalse;
}
@@ -800,6 +790,18 @@
}
// ---------------------------------------------------------------------------
+// RetrieveListDesc
+// ---------------------------------------------------------------------------
+//
+QString GlxMLWrapperPrivate::RetrieveListDesc(int aItemIndex)
+{
+ const TGlxMedia& item = iMediaList->Item( aItemIndex );
+ const TDesC &commentstring = item.Comment();
+ QString descstring = QString::fromUtf16(commentstring.Ptr(), commentstring.Length());
+ return descstring;
+}
+
+// ---------------------------------------------------------------------------
// Retrieve number of image contained by album list
// ---------------------------------------------------------------------------
//
@@ -864,6 +866,18 @@
}
// ---------------------------------------------------------------------------
+// RetrieveItemSize
+// ---------------------------------------------------------------------------
+//
+int GlxMLWrapperPrivate::RetrieveItemSize(int aItemIndex)
+{
+ const TGlxMedia& item = iMediaList->Item( aItemIndex );
+ int itemSize ;
+ item.GetSize(itemSize);
+ return itemSize;
+ }
+
+// ---------------------------------------------------------------------------
// RetrieveItemDate
// ---------------------------------------------------------------------------
//
@@ -882,6 +896,29 @@
}
return date;
}
+
+// ---------------------------------------------------------------------------
+// RetrieveItemTime
+// ---------------------------------------------------------------------------
+//
+QTime GlxMLWrapperPrivate::RetrieveItemTime(int index)
+ {
+ GLX_LOG_INFO1("GlxMLWrapperPrivate::RetrieveItemTime %d",index);
+ const TGlxMedia& item = iMediaList->Item( index );
+ TTime TimeValue;
+ QTime time = QTime();
+ TBool returnValue =item.GetDate(TimeValue);
+
+ if(returnValue)
+ {
+ GLX_LOG_INFO1("GlxMLWrapperPrivate::RetrieveItemDate %d",returnValue);
+ TDateTime dateTime = TimeValue.DateTime();
+ time = QTime(dateTime.Hour(),dateTime.Minute());
+ }
+ return time;
+ }
+
+
// ---------------------------------------------------------------------------
// RetrieveFsBitmap
@@ -997,7 +1034,9 @@
CheckLsFsTBAttribute(aItemIndex, aAttributes);
if (iPtListContextActivated || iSelectionListContextActivated)
CheckListAttributes(aItemIndex, aAttributes);
- // }
+ if( iDetailsContextActivated && aItemIndex == iMediaList->FocusIndex() )
+ CheckDetailsAttributes(aItemIndex, aAttributes);
+
}
// ---------------------------------------------------------------------------
// CheckGridTBAttribute
@@ -1128,6 +1167,29 @@
return searchStatus;
}
+
+// ---------------------------------------------------------------------------
+// CheckDetailsAttributes
+// ---------------------------------------------------------------------------
+//
+void GlxMLWrapperPrivate::CheckDetailsAttributes(TInt aItemIndex, const RArray<TMPXAttribute>& aAttributes)
+{
+ qDebug("GlxMLWrapperPrivate::CheckDetailsAttributes");
+ TBool attribPresent = EFalse;
+ TMPXAttribute titleAttrib(KMPXMediaGeneralComment);
+ TIdentityRelation< TMPXAttribute > match ( &TMPXAttribute::Match );
+
+ const TGlxMedia& item = iMediaList->Item(aItemIndex);
+
+ if (KErrNotFound != aAttributes.Find(titleAttrib, match))
+ {
+ qDebug("GlxMLWrapperPrivate::CheckDetailsAttributes TRUE");
+ attribPresent = ETrue;
+ iMLWrapper->handleDetailsItemAvailable(aItemIndex);
+ GLX_LOG_INFO1("### GlxMLWrapperPrivate::CheckDetailsAttributes title present %d",aItemIndex);
+ }
+}
+
// ---------------------------------------------------------------------------
// GetItemCount
// ---------------------------------------------------------------------------
@@ -1319,4 +1381,29 @@
return iMediaList->IsPopulated();
}
-
+// ---------------------------------------------------------------------------
+// SetDescontextL
+// ---------------------------------------------------------------------------
+//
+void GlxMLWrapperPrivate::SetDescontextL()
+ {
+ iDescContext = CGlxDefaultAttributeContext::NewL();
+ iDescContext->AddAttributeL( KMPXMediaGeneralComment );
+ iMediaList->AddContextL( iDescContext, KGlxFetchContextPriorityLow );
+ iDetailsContextActivated = ETrue;
+ }
+
+// ---------------------------------------------------------------------------
+// RemoveDescContext
+// ---------------------------------------------------------------------------
+//
+void GlxMLWrapperPrivate::RemoveDescContext()
+ {
+ if(iDescContext )
+ {
+ iMediaList->RemoveContext(iDescContext);
+ delete iDescContext;
+ iDescContext = NULL;
+ iDetailsContextActivated = EFalse;
+ }
+ }
--- a/ui/uiengine/model/bwins/glxmediamodelu.def Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/uiengine/model/bwins/glxmediamodelu.def Wed Jun 23 18:12:48 2010 +0300
@@ -36,4 +36,7 @@
?index@GlxMediaModel@@UBE?AVQModelIndex@@HHABV2@@Z @ 35 NONAME ; class QModelIndex GlxMediaModel::index(int, int, class QModelIndex const &) const
?GetExternalIconItem@GlxMediaModel@@ABEPAVHbIcon@@HW4GlxTBContextType@@@Z @ 36 NONAME ; class HbIcon * GlxMediaModel::GetExternalIconItem(int, enum GlxTBContextType) const
?albumTitleAvailable@GlxMediaModel@@IAEXVQString@@@Z @ 37 NONAME ; void GlxMediaModel::albumTitleAvailable(class QString)
+ ?updateDetailsView@GlxMediaModel@@IAEXXZ @ 38 NONAME ; void GlxMediaModel::updateDetailsView(void)
+ ?removeContextMode@GlxMediaModel@@AAEXW4GlxContextMode@@@Z @ 39 NONAME ; void GlxMediaModel::removeContextMode(enum GlxContextMode)
+ ?updateDetailItems@GlxMediaModel@@QAEXXZ @ 40 NONAME ; void GlxMediaModel::updateDetailItems(void)
--- a/ui/uiengine/model/bwins/glxmodelwrapperu.def Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/uiengine/model/bwins/glxmodelwrapperu.def Wed Jun 23 18:12:48 2010 +0300
@@ -11,24 +11,24 @@
?getStaticMetaObject@GlxModelWrapper@@SAABUQMetaObject@@XZ @ 10 NONAME ; struct QMetaObject const & GlxModelWrapper::getStaticMetaObject(void)
?index@GlxModelWrapper@@UBE?AVQModelIndex@@HHABV2@@Z @ 11 NONAME ; class QModelIndex GlxModelWrapper::index(int, int, class QModelIndex const &) const
?rowsAboutToBeInserted@GlxModelWrapper@@IAEXABVQModelIndex@@HH@Z @ 12 NONAME ; void GlxModelWrapper::rowsAboutToBeInserted(class QModelIndex const &, int, int)
- ?data@GlxModelWrapper@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 13 NONAME ; class QVariant GlxModelWrapper::data(class QModelIndex const &, int) const
- ?staticMetaObject@GlxModelWrapper@@2UQMetaObject@@B @ 14 NONAME ; struct QMetaObject const GlxModelWrapper::staticMetaObject
- ?scrollingEnded@GlxModelWrapper@@QAEXXZ @ 15 NONAME ; void GlxModelWrapper::scrollingEnded(void)
- ?rowsRemoved@GlxModelWrapper@@IAEXABVQModelIndex@@HH@Z @ 16 NONAME ; void GlxModelWrapper::rowsRemoved(class QModelIndex const &, int, int)
- ?basemodelindex@GlxModelWrapper@@QBE?AVQModelIndex@@HHABV2@@Z @ 17 NONAME ; class QModelIndex GlxModelWrapper::basemodelindex(int, int, class QModelIndex const &) const
- ?columnCount@GlxModelWrapper@@UBEHABVQModelIndex@@@Z @ 18 NONAME ; int GlxModelWrapper::columnCount(class QModelIndex const &) const
- ?parent@GlxModelWrapper@@UBE?AVQModelIndex@@ABV2@@Z @ 19 NONAME ; class QModelIndex GlxModelWrapper::parent(class QModelIndex const &) const
- ?rowsInserted@GlxModelWrapper@@IAEXABVQModelIndex@@HH@Z @ 20 NONAME ; void GlxModelWrapper::rowsInserted(class QModelIndex const &, int, int)
- ?disConnectFromModel@GlxModelWrapper@@AAEXXZ @ 21 NONAME ; void GlxModelWrapper::disConnectFromModel(void)
- ?metaObject@GlxModelWrapper@@UBEPBUQMetaObject@@XZ @ 22 NONAME ; struct QMetaObject const * GlxModelWrapper::metaObject(void) const
- ??1GlxModelWrapper@@UAE@XZ @ 23 NONAME ; GlxModelWrapper::~GlxModelWrapper(void)
- ?connectToModel@GlxModelWrapper@@AAEXXZ @ 24 NONAME ; void GlxModelWrapper::connectToModel(void)
- ?setModel@GlxModelWrapper@@QAEXPAVQAbstractItemModel@@@Z @ 25 NONAME ; void GlxModelWrapper::setModel(class QAbstractItemModel *)
- ?tr@GlxModelWrapper@@SA?AVQString@@PBD0H@Z @ 26 NONAME ; class QString GlxModelWrapper::tr(char const *, char const *, int)
- ?qt_metacall@GlxModelWrapper@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 27 NONAME ; int GlxModelWrapper::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?setRoles@GlxModelWrapper@@QAEXHH@Z @ 28 NONAME ; void GlxModelWrapper::setRoles(int, int)
- ?scrollingStarted@GlxModelWrapper@@QAEXXZ @ 29 NONAME ; void GlxModelWrapper::scrollingStarted(void)
- ?trUtf8@GlxModelWrapper@@SA?AVQString@@PBD0H@Z @ 30 NONAME ; class QString GlxModelWrapper::trUtf8(char const *, char const *, int)
- ?qt_metacast@GlxModelWrapper@@UAEPAXPBD@Z @ 31 NONAME ; void * GlxModelWrapper::qt_metacast(char const *)
- ?resetTheModel@GlxModelWrapper@@AAEXXZ @ 32 NONAME ; void GlxModelWrapper::resetTheModel(void)
+ ?resetTheModel@GlxModelWrapper@@AAEXXZ @ 13 NONAME ; void GlxModelWrapper::resetTheModel(void)
+ ?data@GlxModelWrapper@@UBE?AVQVariant@@ABVQModelIndex@@H@Z @ 14 NONAME ; class QVariant GlxModelWrapper::data(class QModelIndex const &, int) const
+ ?staticMetaObject@GlxModelWrapper@@2UQMetaObject@@B @ 15 NONAME ; struct QMetaObject const GlxModelWrapper::staticMetaObject
+ ?scrollingEnded@GlxModelWrapper@@QAEXXZ @ 16 NONAME ; void GlxModelWrapper::scrollingEnded(void)
+ ?rowsRemoved@GlxModelWrapper@@IAEXABVQModelIndex@@HH@Z @ 17 NONAME ; void GlxModelWrapper::rowsRemoved(class QModelIndex const &, int, int)
+ ?basemodelindex@GlxModelWrapper@@QBE?AVQModelIndex@@HHABV2@@Z @ 18 NONAME ; class QModelIndex GlxModelWrapper::basemodelindex(int, int, class QModelIndex const &) const
+ ?columnCount@GlxModelWrapper@@UBEHABVQModelIndex@@@Z @ 19 NONAME ; int GlxModelWrapper::columnCount(class QModelIndex const &) const
+ ?parent@GlxModelWrapper@@UBE?AVQModelIndex@@ABV2@@Z @ 20 NONAME ; class QModelIndex GlxModelWrapper::parent(class QModelIndex const &) const
+ ?rowsInserted@GlxModelWrapper@@IAEXABVQModelIndex@@HH@Z @ 21 NONAME ; void GlxModelWrapper::rowsInserted(class QModelIndex const &, int, int)
+ ?disConnectFromModel@GlxModelWrapper@@AAEXXZ @ 22 NONAME ; void GlxModelWrapper::disConnectFromModel(void)
+ ?metaObject@GlxModelWrapper@@UBEPBUQMetaObject@@XZ @ 23 NONAME ; struct QMetaObject const * GlxModelWrapper::metaObject(void) const
+ ??1GlxModelWrapper@@UAE@XZ @ 24 NONAME ; GlxModelWrapper::~GlxModelWrapper(void)
+ ?connectToModel@GlxModelWrapper@@AAEXXZ @ 25 NONAME ; void GlxModelWrapper::connectToModel(void)
+ ?setModel@GlxModelWrapper@@QAEXPAVQAbstractItemModel@@@Z @ 26 NONAME ; void GlxModelWrapper::setModel(class QAbstractItemModel *)
+ ?tr@GlxModelWrapper@@SA?AVQString@@PBD0H@Z @ 27 NONAME ; class QString GlxModelWrapper::tr(char const *, char const *, int)
+ ?qt_metacall@GlxModelWrapper@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 28 NONAME ; int GlxModelWrapper::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setRoles@GlxModelWrapper@@QAEXHH@Z @ 29 NONAME ; void GlxModelWrapper::setRoles(int, int)
+ ?scrollingStarted@GlxModelWrapper@@QAEXXZ @ 30 NONAME ; void GlxModelWrapper::scrollingStarted(void)
+ ?trUtf8@GlxModelWrapper@@SA?AVQString@@PBD0H@Z @ 31 NONAME ; class QString GlxModelWrapper::trUtf8(char const *, char const *, int)
+ ?qt_metacast@GlxModelWrapper@@UAEPAXPBD@Z @ 32 NONAME ; void * GlxModelWrapper::qt_metacast(char const *)
--- a/ui/uiengine/model/eabi/glxmediamodelu.def Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/uiengine/model/eabi/glxmediamodelu.def Wed Jun 23 18:12:48 2010 +0300
@@ -36,4 +36,7 @@
_ZNK13GlxMediaModel8rowCountERK11QModelIndex @ 35 NONAME
_ZTI13GlxMediaModel @ 36 NONAME
_ZTV13GlxMediaModel @ 37 NONAME
+ _ZN13GlxMediaModel17removeContextModeE14GlxContextMode @ 38 NONAME
+ _ZN13GlxMediaModel17updateDetailItemsEv @ 39 NONAME
+ _ZN13GlxMediaModel17updateDetailsViewEv @ 40 NONAME
--- a/ui/uiengine/model/eabi/glxmodelwrapperu.def Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/uiengine/model/eabi/glxmodelwrapperu.def Wed Jun 23 18:12:48 2010 +0300
@@ -3,32 +3,32 @@
_ZN15GlxModelWrapper11qt_metacastEPKc @ 2 NONAME
_ZN15GlxModelWrapper11rowsRemovedERK11QModelIndexii @ 3 NONAME
_ZN15GlxModelWrapper12rowsInsertedERK11QModelIndexii @ 4 NONAME
- _ZN15GlxModelWrapper14connectToModelEv @ 5 NONAME
- _ZN15GlxModelWrapper14modelDestroyedEv @ 6 NONAME
- _ZN15GlxModelWrapper14scrollingEndedEv @ 7 NONAME
- _ZN15GlxModelWrapper16scrollingStartedEv @ 8 NONAME
- _ZN15GlxModelWrapper16staticMetaObjectE @ 9 NONAME DATA 16
- _ZN15GlxModelWrapper18dataChangedinModelE11QModelIndexS0_ @ 10 NONAME
- _ZN15GlxModelWrapper19disConnectFromModelEv @ 11 NONAME
- _ZN15GlxModelWrapper19getStaticMetaObjectEv @ 12 NONAME
- _ZN15GlxModelWrapper20rowsAboutToBeRemovedERK11QModelIndexii @ 13 NONAME
- _ZN15GlxModelWrapper21rowsAboutToBeInsertedERK11QModelIndexii @ 14 NONAME
- _ZN15GlxModelWrapper7setDataERK11QModelIndexRK8QVarianti @ 15 NONAME
- _ZN15GlxModelWrapper8setModelEP18QAbstractItemModel @ 16 NONAME
- _ZN15GlxModelWrapper8setRolesEii @ 17 NONAME
- _ZN15GlxModelWrapperC1Ev @ 18 NONAME
- _ZN15GlxModelWrapperC2Ev @ 19 NONAME
- _ZN15GlxModelWrapperD0Ev @ 20 NONAME
- _ZN15GlxModelWrapperD1Ev @ 21 NONAME
- _ZN15GlxModelWrapperD2Ev @ 22 NONAME
- _ZNK15GlxModelWrapper10metaObjectEv @ 23 NONAME
- _ZNK15GlxModelWrapper11columnCountERK11QModelIndex @ 24 NONAME
- _ZNK15GlxModelWrapper14basemodelindexEiiRK11QModelIndex @ 25 NONAME
- _ZNK15GlxModelWrapper4dataERK11QModelIndexi @ 26 NONAME
- _ZNK15GlxModelWrapper5indexEiiRK11QModelIndex @ 27 NONAME
- _ZNK15GlxModelWrapper6parentERK11QModelIndex @ 28 NONAME
- _ZNK15GlxModelWrapper8rowCountERK11QModelIndex @ 29 NONAME
- _ZTI15GlxModelWrapper @ 30 NONAME
- _ZTV15GlxModelWrapper @ 31 NONAME
- _ZN15GlxModelWrapper13resetTheModelEv @ 32 NONAME
+ _ZN15GlxModelWrapper13resetTheModelEv @ 5 NONAME
+ _ZN15GlxModelWrapper14connectToModelEv @ 6 NONAME
+ _ZN15GlxModelWrapper14modelDestroyedEv @ 7 NONAME
+ _ZN15GlxModelWrapper14scrollingEndedEv @ 8 NONAME
+ _ZN15GlxModelWrapper16scrollingStartedEv @ 9 NONAME
+ _ZN15GlxModelWrapper16staticMetaObjectE @ 10 NONAME DATA 16
+ _ZN15GlxModelWrapper18dataChangedinModelE11QModelIndexS0_ @ 11 NONAME
+ _ZN15GlxModelWrapper19disConnectFromModelEv @ 12 NONAME
+ _ZN15GlxModelWrapper19getStaticMetaObjectEv @ 13 NONAME
+ _ZN15GlxModelWrapper20rowsAboutToBeRemovedERK11QModelIndexii @ 14 NONAME
+ _ZN15GlxModelWrapper21rowsAboutToBeInsertedERK11QModelIndexii @ 15 NONAME
+ _ZN15GlxModelWrapper7setDataERK11QModelIndexRK8QVarianti @ 16 NONAME
+ _ZN15GlxModelWrapper8setModelEP18QAbstractItemModel @ 17 NONAME
+ _ZN15GlxModelWrapper8setRolesEii @ 18 NONAME
+ _ZN15GlxModelWrapperC1Ev @ 19 NONAME
+ _ZN15GlxModelWrapperC2Ev @ 20 NONAME
+ _ZN15GlxModelWrapperD0Ev @ 21 NONAME
+ _ZN15GlxModelWrapperD1Ev @ 22 NONAME
+ _ZN15GlxModelWrapperD2Ev @ 23 NONAME
+ _ZNK15GlxModelWrapper10metaObjectEv @ 24 NONAME
+ _ZNK15GlxModelWrapper11columnCountERK11QModelIndex @ 25 NONAME
+ _ZNK15GlxModelWrapper14basemodelindexEiiRK11QModelIndex @ 26 NONAME
+ _ZNK15GlxModelWrapper4dataERK11QModelIndexi @ 27 NONAME
+ _ZNK15GlxModelWrapper5indexEiiRK11QModelIndex @ 28 NONAME
+ _ZNK15GlxModelWrapper6parentERK11QModelIndex @ 29 NONAME
+ _ZNK15GlxModelWrapper8rowCountERK11QModelIndex @ 30 NONAME
+ _ZTI15GlxModelWrapper @ 31 NONAME
+ _ZTV15GlxModelWrapper @ 32 NONAME
--- a/ui/uiengine/model/favmediamodel/favmediamodel.pro Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/uiengine/model/favmediamodel/favmediamodel.pro Wed Jun 23 18:12:48 2010 +0300
@@ -43,3 +43,12 @@
SOURCES += src/glxfavmediamodel.cpp
DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
+
+defBlock = \
+"$${LITERAL_HASH}if defined(EABI)" \
+"DEFFILE ../eabi/glxfavmediamodel.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bwins/glxfavmediamodel.def" \
+ "$${LITERAL_HASH}endif"
+
+MMP_RULES += defBlock
--- a/ui/uiengine/model/listmodel/listmodel.pro Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/uiengine/model/listmodel/listmodel.pro Wed Jun 23 18:12:48 2010 +0300
@@ -37,4 +37,13 @@
HEADERS += inc/glxalbummodel.h
SOURCES += src/glxalbummodel.cpp
-DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
\ No newline at end of file
+DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
+
+defBlock = \
+"$${LITERAL_HASH}if defined(EABI)" \
+"DEFFILE ../eabi/glxlistmodel.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bwins/glxlistmodel.def" \
+ "$${LITERAL_HASH}endif"
+
+MMP_RULES += defBlock
--- a/ui/uiengine/model/mediamodel/inc/glxmediamodel.h Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/uiengine/model/mediamodel/inc/glxmediamodel.h Wed Jun 23 18:12:48 2010 +0300
@@ -76,6 +76,10 @@
* for setting the attribute context mode will be used mainly for retreiving thumbnail of different sizes.
*/
void setContextMode(GlxContextMode contextMode);
+ /*
+ *Removes the context
+ */
+ void removeContextMode(GlxContextMode contextMode);
void setFocusIndex(const QModelIndex &index);
QModelIndex getFocusIndex() const;
void setSelectedIndex(const QModelIndex &index);
@@ -84,6 +88,10 @@
signals :
void iconAvailable(int itemIndex, HbIcon* itemIcon, GlxTBContextType tbContextType) const;
+ /*
+ *signal to update the details view
+ */
+ void updateDetailsView();
public slots:
void itemUpdated1(int mlIndex, GlxTBContextType tbContextType);
void itemsAdded(int startIndex, int endIndex);
@@ -91,6 +99,10 @@
void itemCorrupted(int itemIndex);
void albumTitleUpdated(QString aTitle);
void modelpopulated();
+ /*
+ *Emits signal to update the details view
+ */
+ void updateDetailItems();
protected:
private slots:
--- a/ui/uiengine/model/mediamodel/mediamodel.pro Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/uiengine/model/mediamodel/mediamodel.pro Wed Jun 23 18:12:48 2010 +0300
@@ -25,7 +25,7 @@
CONFIG += hb
LIBS += -lglxmedialistwrapper.dll \
- -lglxloggerqt.dll
+ -lglxloggerqt.dll
DEFINES += BUILD_MEDIAMODEL
@@ -43,3 +43,13 @@
SOURCES += src/glxmediamodel.cpp
DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
+
+defBlock = \
+"$${LITERAL_HASH}if defined(EABI)" \
+"DEFFILE ../eabi/glxmediamodel.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bwins/glxmediamodel.def" \
+ "$${LITERAL_HASH}endif"
+
+MMP_RULES += defBlock
+
--- a/ui/uiengine/model/mediamodel/src/glxmediamodel.cpp Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/uiengine/model/mediamodel/src/glxmediamodel.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -23,8 +23,6 @@
#include <glxmodelparm.h>
#include <QCache>
#include <QDebug>
-#include <hal.h>
-#include <hal_data.h>
#include <glxmlwrapper.h>
#include <glxfiltergeneraldefs.h>
@@ -55,7 +53,7 @@
err = connect( mMLWrapper, SIGNAL(updateAlbumTitle(QString)), this, SLOT(albumTitleUpdated(QString)));
qDebug("updateAlbumTitle() connection status %d", err);
err = connect(mMLWrapper, SIGNAL(populated()), this, SLOT(modelpopulated()));
- //itemadded.resize(mMLWrapper->getItemCount());
+ err = connect(mMLWrapper, SIGNAL(updateDetails()), this, SLOT(updateDetailItems()));
itemIconCache.setMaxCost(20); //Changed While Doing Media Wall
itemFsIconCache.setMaxCost(5);
@@ -73,40 +71,55 @@
{
//itemadded.clear();
qDebug("GlxMediaModel::~GlxMediaModel");
- int freeMemory = 0;
- int err1 = HAL::Get( HALData::EMemoryRAMFree, freeMemory );
- qDebug("####mediaModel : Memory available before cache cleanup = %d and error is = %d ", freeMemory , err1 );
itemIconCache.clear();
itemFsIconCache.clear();
delete m_DefaultIcon;
m_DefaultIcon = NULL;
clearExternalItems();
- err1 = HAL::Get( HALData::EMemoryRAMFree, freeMemory );
- qDebug("####mediaModel : Memory available after cache cleanup = %d and error is = %d ", freeMemory , err1 );
- int err = disconnect(mMLWrapper, SIGNAL(updateItem(int, GlxTBContextType)), this, SLOT(itemUpdated1(int, GlxTBContextType)));
+ int err = disconnect(mMLWrapper, SIGNAL(updateItem(int, GlxTBContextType)), this, SLOT(itemUpdated1(int, GlxTBContextType)));
err = disconnect(mMLWrapper, SIGNAL(itemCorrupted(int)), this, SLOT(itemCorrupted(int)));
err = disconnect(mMLWrapper, SIGNAL(insertItems(int, int)), this, SLOT(itemsAdded(int, int)));
err = disconnect(mMLWrapper, SIGNAL(removeItems(int, int)), this, SLOT(itemsRemoved(int, int)));
err = disconnect(this, SIGNAL(iconAvailable(int, HbIcon*, GlxTBContextType)), this, SLOT(updateItemIcon(int, HbIcon*, GlxTBContextType)));
err = disconnect(mMLWrapper, SIGNAL(updateAlbumTitle(QString)), this, SLOT(albumTitleUpdated(QString)));
err = disconnect(mMLWrapper, SIGNAL(populated()), this, SLOT(modelpopulated()));
+ err = disconnect(mMLWrapper, SIGNAL(updateDetails()), this, SLOT(updateDetailItems()));
delete mMLWrapper;
}
+//------------------------------------------------------------------------------------------------------------
+//setContextMode
+//------------------------------------------------------------------------------------------------------------
void GlxMediaModel::setContextMode(GlxContextMode contextMode)
{
- if(mContextMode != contextMode) {
+ if(contextMode == GlxContextComment)
+ {
+ mMLWrapper->setContextMode(contextMode);
+ }
+ else
+ {
+ if(mContextMode != contextMode) {
+
itemFsIconCache.clear();
mMLWrapper->setContextMode(contextMode);
mContextMode = contextMode;
if ( mContextMode == GlxContextLsGrid || mContextMode == GlxContextPtGrid ) {
itemIconCache.clear();
//emit dataChanged( index( 0, 0), index( rowCount() - 1, 0) ); // Not Needed for HgWidget
- }
- }
+ }
+ }
+ }
}
+//------------------------------------------------------------------------------------------------------------
+//removeContextMode
+//------------------------------------------------------------------------------------------------------------
+void GlxMediaModel::removeContextMode(GlxContextMode contextMode)
+ {
+ mMLWrapper->removeContextMode(contextMode);
+ }
+
//to add external data to the model
void GlxMediaModel::addExternalItems(GlxExternalData* externalItems)
{
@@ -314,7 +327,18 @@
if (role == GlxHdmiBitmap) {
return mMLWrapper->RetrieveBitmap(itemIndex);
}
-
+
+ if (role == GlxTimeRole) {
+ return mMLWrapper->retrieveItemTime(itemIndex);
+ }
+
+ if (role == GlxSizeRole) {
+ return mMLWrapper->retrieveItemSize(itemIndex);
+ }
+
+ if (role == GlxDescRole) {
+ return mMLWrapper->retrieveListDesc(itemIndex);
+ }
return QVariant();
}
@@ -386,6 +410,15 @@
emit populated();
}
+//------------------------------------------------------------------------------------------------------------
+//updateDetailItems
+//------------------------------------------------------------------------------------------------------------
+void GlxMediaModel::updateDetailItems()
+{
+ qDebug("GlxMediaModel::updateDetailItems");
+ emit updateDetailsView();
+}
+
void GlxMediaModel::itemsAdded(int startIndex, int endIndex)
{
qDebug("GlxMediaModel::itemsAdded %d %d", startIndex, endIndex);
@@ -486,6 +519,14 @@
}
}
+ if ( GlxRemoveContextRole == role ) {
+ if ( value.isValid() && value.canConvert <int> () ) {
+ removeContextMode( (GlxContextMode) value.value <int> () );
+ return TRUE;
+ }
+ }
+
+
if ( GlxFocusIndexRole == role ) {
if ( value.isValid() && value.canConvert <int> () ) {
setFocusIndex( index( value.value <int> (), 0) );
--- a/ui/uiengine/model/modelwrapper/modelwrapper.pro Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/uiengine/model/modelwrapper/modelwrapper.pro Wed Jun 23 18:12:48 2010 +0300
@@ -35,4 +35,13 @@
HEADERS += inc/glxmodelwrapper.h
SOURCES += src/glxmodelwrapper.cpp
-DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
\ No newline at end of file
+DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
+
+defBlock = \
+"$${LITERAL_HASH}if defined(EABI)" \
+"DEFFILE ../eabi/glxmodelwrapper.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bwins/glxmodelwrapper.def" \
+ "$${LITERAL_HASH}endif"
+
+MMP_RULES += defBlock
--- a/ui/viewmanagement/bwins/glxstatehandleru.def Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/viewmanagement/bwins/glxstatehandleru.def Wed Jun 23 18:12:48 2010 +0300
@@ -34,4 +34,7 @@
?exitMarkingMode@GlxStateManager@@QAEXXZ @ 33 NONAME ; void GlxStateManager::exitMarkingMode(void)
?removeCurrentModel@GlxStateManager@@QAEXXZ @ 34 NONAME ; void GlxStateManager::removeCurrentModel(void)
?createModel@GlxStateManager@@AAEXHW4NavigationDir@@@Z @ 35 NONAME ; void GlxStateManager::createModel(int, enum NavigationDir)
+ ?eventFilter@GlxStateManager@@UAE_NPAVQObject@@PAVQEvent@@@Z @ 36 NONAME ; bool GlxStateManager::eventFilter(class QObject *, class QEvent *)
+ ?vanishProgressDialog@GlxStateManager@@AAEXXZ @ 37 NONAME ; void GlxStateManager::vanishProgressDialog(void)
+ ?launchProgressDialog@GlxStateManager@@AAEXXZ @ 38 NONAME ; void GlxStateManager::launchProgressDialog(void)
--- a/ui/viewmanagement/eabi/glxstatehandleru.def Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/viewmanagement/eabi/glxstatehandleru.def Wed Jun 23 18:12:48 2010 +0300
@@ -34,4 +34,7 @@
_ZNK15GlxStateManager10metaObjectEv @ 33 NONAME
_ZTI15GlxStateManager @ 34 NONAME
_ZTV15GlxStateManager @ 35 NONAME
+ _ZN15GlxStateManager11eventFilterEP7QObjectP6QEvent @ 36 NONAME
+ _ZN15GlxStateManager20launchProgressDialogEv @ 37 NONAME
+ _ZN15GlxStateManager20vanishProgressDialogEv @ 38 NONAME
--- a/ui/viewmanagement/statehandler/inc/glxstatemanager.h Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/viewmanagement/statehandler/inc/glxstatemanager.h Wed Jun 23 18:12:48 2010 +0300
@@ -45,83 +45,157 @@
friend class TestGlxStateManager;
public :
+ /*
+ * Constructor
+ */
GlxStateManager();
+
+ /*
+ * Destructor
+ */
virtual ~GlxStateManager();
+
+ /*
+ * Fuction to launch the application from some external world
+ */
void launchFromExternal();
+
+ /*
+ * Clean the all externel data
+ */
void cleanupExternal();
- //internal exposed function
+ /*
+ * Move the views to the multiple item selection state
+ */
void enterMarkingMode();
+
+ /*
+ * Exit from the multiselection state
+ */
void exitMarkingMode();
+
+ /*
+ * Execute the commant on multiple selected item
+ */
bool executeCommand(qint32 commandId);
+
+ /*
+ * when application goes into background or come back to foreground
+ * set and reset the background thumbnail generation property
+ */
+ bool eventFilter(QObject *obj, QEvent *ev);
-signals :
+signals :
+ /*
+ * Send the user activities ( command ) to the external world
+ */
void externalCommand(int cmdId);
+
+ /*
+ * TO send the signal to initialise the rest of items
+ * which is not created in the launch sequence
+ */
void setupItemsSignal();
public slots:
+ /*
+ * To launch the application
+ */
void launchApplication();
+
+ /*
+ * To handle the user action, view switching etc
+ */
void actionTriggered(qint32 id);
+
+ /*
+ * To create the items which is not created in the aluch sequence
+ */
void setupItems();
+
+ /*
+ * call back function to monitor the change in thumbnail manager
+ */
void updateTNProgress( int count);
public :
-/*
- * It will create a new state and replace the current state with new state in the stack.
- * It will use in the case of state switching.
- * use -1 if state does not have internal state
- */
+ /*
+ * It will create a new state and replace the current state with new state in the stack.
+ * It will use in the case of state switching.
+ * use -1 if state does not have internal state
+ */
void changeState(qint32 newStateId, int internalState );
-/*
- * Go back to previous state
- */
+
+ /*
+ * Go back to previous state
+ */
void previousState();
-/*
- * Go back to a state in hierarchy and pop all the state upto that level.
- * if state is not found, then all the state from the hierachy is removed and create a new state on level 0
- * This function will be use in the case when more then one back is required in single event.
- */
+ /*
+ * Go back to a state in hierarchy and pop all the state upto that level.
+ * if state is not found, then all the state from the hierachy is removed and create a new state on level 0
+ * This function will be use in the case when more then one back is required in single event.
+ */
void goBack(qint32 stateId, int internalState);
-/*
- * Create a new state and current state should be pushed into stack.
- * use -1 if state does not have internal state
- */
+ /*
+ * Create a new state and current state should be pushed into stack.
+ * use -1 if state does not have internal state
+ */
void nextState(qint32 newStateId, int internalState );
-/*
- * It will delete the current model
- */
+ /*
+ * It will delete the current model
+ */
void removeCurrentModel();
-/*
- * It will delete the all model used by state manager
- */
+ /*
+ * It will delete the all model used by state manager
+ */
void cleanAllModel();
private:
-/*
- * Factory function to create the state.
- */
+
+ /*
+ * Launch the harvesting and TN generation progress bar dialog
+ */
+ void launchProgressDialog();
+
+ /*
+ * remove the harvesting and TN generation progress bar dialog
+ */
+ void vanishProgressDialog();
+
+ /*
+ * Factory function to create the state.
+ */
GlxState * createState(qint32 state);
-/*
- * Factory function to create the model.
- */
+
+ /*
+ * Factory function to create the model.
+ */
void createModel(qint32 stateId, NavigationDir dir = NO_DIR);
-/*
- * Factory function to create the grid model.
- */
+
+ /*
+ * Factory function to create the grid model.
+ */
void createGridModel(int internalState, NavigationDir dir = NO_DIR);
-/*
- * To set the fullscreen context based on the currrent orientation
- */
+
+ /*
+ * To set the fullscreen context based on the currrent orientation
+ */
void setFullScreenContext();
+
+ /*
+ * Apllication event handler function
+ */
void eventHandler(qint32 &id);
-/*
- * A function to care the exit for application, in the case when application launch from internal and external
- */
+
+ /*
+ * A function to care the exit for application, in the case when application launch from internal and external
+ */
void exitApplication();
private:
--- a/ui/viewmanagement/statehandler/src/glxactionhandler.cpp Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/viewmanagement/statehandler/src/glxactionhandler.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -28,8 +28,7 @@
GlxActionHandler::~GlxActionHandler()
{
- foreach( GlxCommandHandler *cmdhandler, mCommandHandlerList)
- delete cmdhandler;
+ qDeleteAll( mCommandHandlerList );
mCommandHandlerList.clear();
}
--- a/ui/viewmanagement/statehandler/src/glxcommandhandlerfactory.cpp Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/viewmanagement/statehandler/src/glxcommandhandlerfactory.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -25,6 +25,7 @@
#include <glxcommandhandlernewmedia.h>
#include <glxcommandhandlersend.h>
#include <glxcommandhandlerrename.h>
+#include <glxcommandhandlercomment.h>
GlxCommandHandler* GlxCommandHandlerFactory::CreateCommandHandler(int commandId)
@@ -52,7 +53,10 @@
case EGlxCmdRename: cmdHandler = new GlxCommandHandlerRename();
break;
-
+
+ case EGlxCmdComment: cmdHandler = new GlxCommandHandlerComment();
+ break;
+
default:
break;
}
--- a/ui/viewmanagement/statehandler/src/glxstatemanager.cpp Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/viewmanagement/statehandler/src/glxstatemanager.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -15,34 +15,40 @@
*
*/
-#include <glxstatemanager.h>
-#include <glxviewmanager.h>
-#include <glxviewids.h>
-#include <glxmediamodel.h>
-#include <glxgridstate.h>
-#include <glxliststate.h>
-#include <glxfullscreenstate.h>
-#include <glxdetailstate.h>
-#include <glxslideshowsettingsstate.h>
-#include <glxslideshowstate.h>
-#include <glxtnobserver.h>
-#include <glxmodelparm.h>
-#include <glxcollectionpluginall.hrh>
-#include <glxcollectionplugincamera.hrh>
-#include <glxcollectionpluginalbums.hrh>
-#include <glxcollectionpluginimageviewer.hrh>
-#include <glxexternalutility.h>
-#include <glxalbummodel.h>
-#include <glxloggerenabler.h>
-#include <glxmediaid.h>
-#include <glxactionhandler.h>
-#include <glxcommandhandlers.hrh>
+//include
#include <QApplication>
-#include <glxplugincommandid.hrh>
#include <QDebug>
#include <QItemSelectionModel>
#include <hbnotificationdialog.h>
#include <QProcess>
+#include <hbinstance.h>
+
+//user includes
+#include "glxstatemanager.h"
+#include "glxviewmanager.h"
+#include "glxviewids.h"
+#include "glxmediamodel.h"
+#include "glxgridstate.h"
+#include "glxliststate.h"
+#include "glxfullscreenstate.h"
+#include "glxdetailstate.h"
+#include "glxslideshowsettingsstate.h"
+#include "glxslideshowstate.h"
+#include "glxtnobserver.h"
+#include "glxmodelparm.h"
+#include "glxcollectionpluginall.hrh"
+#include "glxcollectionplugincamera.hrh"
+#include "glxcollectionpluginalbums.hrh"
+#include "glxcollectionpluginimageviewer.hrh"
+#include "glxexternalutility.h"
+#include "glxalbummodel.h"
+#include "glxloggerenabler.h"
+#include "glxmediaid.h"
+#include "glxactionhandler.h"
+#include "glxcommandhandlers.hrh"
+#include "glxplugincommandid.hrh"
+#include "glxlog.h"
+#include "glxtracer.h"
GlxStateManager::GlxStateManager()
@@ -98,6 +104,20 @@
return TRUE;
}
+bool GlxStateManager::eventFilter(QObject *obj, QEvent *event)
+{
+ TRACER("GlxStateManager::eventFilter() ");
+ GLX_LOG_INFO1("GlxStateManager::eventFilter() %d event type", event->type());
+
+ if ( event->type() == QEvent::ApplicationActivate ) {
+ mTNObserver->startTNMDaemon();
+ }
+ if ( event->type() == QEvent::ApplicationDeactivate ) {
+ mTNObserver->stopTNMDaemon();
+ }
+ return QObject::eventFilter(obj, event);
+}
+
void GlxStateManager::launchApplication()
{
qDebug("GlxStateManager::launchApplication");
@@ -108,8 +128,7 @@
if ( mTNObserver->getTNLeftCount() > 0 ) {
mViewManager->launchApplication( GLX_GRIDVIEW_ID, mCurrentModel);
- mViewManager->launchProgressDialog( mTNObserver->getTNLeftCount() );
- isProgressbarRunning = true ;
+ launchProgressDialog();
}
else {
createModel( GLX_GRIDVIEW_ID );
@@ -151,24 +170,25 @@
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 ) {
goBack( GLX_GRIDVIEW_ID, ALL_ITEM_S ) ;
- cleanAllModel();
- mViewManager->launchProgressDialog ( count ) ;
- isProgressbarRunning = true ;
+ cleanAllModel();
+ launchProgressDialog();
}
if ( isProgressbarRunning ){
if ( count == 0 ) {
createModel( mCurrentState->id() );
mViewManager->setModel( mCurrentModel );
- isProgressbarRunning = false;
+ vanishProgressDialog();
}
-
- mViewManager->updateProgressDialog( count );
+ else {
+ mViewManager->updateProgressDialog( count );
+ }
}
}
@@ -282,6 +302,7 @@
void GlxStateManager::removeCurrentModel()
{
+ TRACER("GlxStateManager::removeCurrentModel() ");
if ( mCurrentModel == mAllMediaModel ) {
qDebug("GlxStateManager::removeCurrentModel() remove all media model");
delete mAllMediaModel ;
@@ -308,6 +329,7 @@
void GlxStateManager::cleanAllModel()
{
+ TRACER("GlxStateManager::cleanAllModel() ");
delete mAllMediaModel ;
mAllMediaModel = NULL ;
delete mAlbumMediaModel ;
@@ -319,6 +341,28 @@
mCurrentModel = NULL ;
}
+void GlxStateManager::launchProgressDialog()
+{
+ TRACER("GlxStateManager::launchProgressDialog() ");
+ //HbMainWindow *window = hbInstance->allMainWindows().first();
+ //window->setAutomaticOrientationEffectEnabled( true );
+
+ QCoreApplication::instance()->installEventFilter( this );
+ mViewManager->launchProgressDialog( mTNObserver->getTNLeftCount() );
+ isProgressbarRunning = true ;
+}
+
+void GlxStateManager::vanishProgressDialog()
+{
+ TRACER("GlxStateManager::vanishProgressDialog() ");
+ //HbMainWindow *window = hbInstance->allMainWindows().first();
+ //window->setAutomaticOrientationEffectEnabled( false );
+
+ QCoreApplication::instance()->removeEventFilter( this );
+ isProgressbarRunning = false;
+ mViewManager->updateProgressDialog( 0 );
+}
+
GlxState * GlxStateManager::createState(qint32 stateId)
{
qDebug("GlxStateManager::createState state id = %d", stateId);
@@ -566,18 +610,6 @@
emit setupItemsSignal();
break;
- case EGlxCmdAppBackground :
- if ( isProgressbarRunning ){
- mTNObserver->stopTNMDaemon();
- }
- break;
-
- case EGlxCmdAppForeground :
- if ( isProgressbarRunning ){
- mTNObserver->startTNMDaemon();
- }
- break;
-
default :
mActionHandler->handleAction(id,mCollectionId);
break;
--- a/ui/viewmanagement/statehandler/src/glxtnobserver.cpp Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/viewmanagement/statehandler/src/glxtnobserver.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -66,5 +66,6 @@
GlxTNObserver::~GlxTNObserver()
{
TRACER("GlxTNObserver::~GlxTNObserver() ");
+ RProperty::Set( KTAGDPSNotification, KForceBackgroundGeneration, EFalse );
delete mTNMonitor;
}
--- a/ui/viewmanagement/statehandler/statehandler.pro Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/viewmanagement/statehandler/statehandler.pro Wed Jun 23 18:12:48 2010 +0300
@@ -77,3 +77,13 @@
src/glxtnobserver.cpp
DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
+
+defBlock = \
+"$${LITERAL_HASH}if defined(EABI)" \
+"DEFFILE ../eabi/glxstatehandler.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bwins/glxstatehandler.def" \
+ "$${LITERAL_HASH}endif"
+
+MMP_RULES += defBlock
+
--- a/ui/viewmanagement/viewmanager/src/glxviewmanager.cpp Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/viewmanagement/viewmanager/src/glxviewmanager.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -70,10 +70,8 @@
void GlxViewManager::setupItems( )
{
mMenuManager = new GlxMenuManager(mMainWindow);
- addBackSoftKeyAction();
-
- addConnection();
-
+ addBackSoftKeyAction();
+ addConnection();
mMenuManager->addMenu( mView->viewId(), mView->menu() );
mMenuManager->setModel( mModel );
}
@@ -159,7 +157,7 @@
if ( mEffectEngine == NULL ) {
mEffectEngine = new GlxEffectEngine();
mEffectEngine->registerTransitionEffect();
- connect( mEffectEngine, SIGNAL( effectFinished() ), this, SLOT( effectFinished() ) );
+ connect( mEffectEngine, SIGNAL( effectFinished() ), this, SLOT( effectFinished() ), Qt::QueuedConnection );
}
QList< QGraphicsItem * > itemList;
@@ -587,7 +585,7 @@
connect(mBackAction, SIGNAL( triggered() ), this, SLOT( handleAction() ));
if ( mEffectEngine ) {
- connect( mEffectEngine, SIGNAL( effectFinished() ), this, SLOT( effectFinished() ) );
+ connect( mEffectEngine, SIGNAL( effectFinished() ), this, SLOT( effectFinished() ), Qt::QueuedConnection );
}
}
--- a/ui/viewmanagement/viewmanager/viewmanager.pro Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/viewmanagement/viewmanager/viewmanager.pro Wed Jun 23 18:12:48 2010 +0300
@@ -49,3 +49,13 @@
src/glxmenumanager.cpp
DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
+
+defBlock = \
+"$${LITERAL_HASH}if defined(EABI)" \
+"DEFFILE ../eabi/glxviewmanager.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bwins/glxviewmanager.def" \
+ "$${LITERAL_HASH}endif"
+
+MMP_RULES += defBlock
+
--- a/ui/views/detailsview/inc/glxdetailsview.h Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/views/detailsview/inc/glxdetailsview.h Wed Jun 23 18:12:48 2010 +0300
@@ -20,16 +20,18 @@
#include <glxview.h>
-class HbDataForm;
-class HbDataFormModelItem;
-class HbDataFormModel;
+
class GlxMediaModel;
class QAbstractItemModel;
class HbIconItem;
-class GlxDetailsCustomWidgets;
-class GlxDetailsCustomIcon;
+
class GlxFavMediaModel;
-
+class HbDocumentLoader;
+class HbLabel;
+class HbPushButton;
+class GlxDetailsNameLabel;
+class GlxDetailsDescriptionEdit;
+class GlxDetailsViewDocLoader;
class GlxDetailsView : public GlxView
{
@@ -70,9 +72,9 @@
* Sets the model corresponding to this view.
*/
void setModel (QAbstractItemModel *model);
-/*
- * return the view item for animation
- */
+ /*
+ * return the view item for animation
+ */
QGraphicsItem * getAnimationItem(GlxEffect transtionEffect);
@@ -81,15 +83,11 @@
void rowsRemoved(const QModelIndex &parent, int start, int end);
void dataChanged(QModelIndex startIndex, QModelIndex endIndex);
void updateFavourites();
+ void UpdateDescription();
+ void FillDetails();
private:
- //Adds the Widget required to show the details
- void addWidgets();
-
- //Fills the data in the form
- void setFormData();
-
/*
* Retrieves the image from the model and shows the image
*/
@@ -99,6 +97,8 @@
* Sets the Date to the label recieved from MDS
*/
void setImageName();
+
+ void setDesc();
/*
* Sets the Date to the label received from MDS
@@ -106,6 +106,21 @@
void setDate();
/*
+ * Sets the time to the label received from MDS
+ */
+ void setTime();
+
+ /*
+ * Sets the size to the label received from MDS
+ */
+ void setSize();
+
+ /*
+ * create the favourite model
+ */
+ void setFavModel();
+
+ /*
* Add all the model releted connection and data
*/
void initializeNewModel();
@@ -119,47 +134,53 @@
*/
void cleanUp();
+ QString sizeinStrings(int size);
+
/*
- * create the favourite model
+ * connects the items to slot to respective signals
*/
- void setFavModel();
+ void setConnections();
-
+ /*
+ * clear the connections
+ */
+ void clearConnections();
+
private:
//Contains the thumbnail shown in teh details view.
- HbIconItem *mDetailsIcon;
+ HbLabel *mDetailsIcon;
//Contains the favourite icon which adds or removes the image to favourite folder
- GlxDetailsCustomIcon *mFavIcon;
-
+ HbPushButton *mFavIcon;
+
//The media Model to acess the attributes; not owned,dont delete.
QAbstractItemModel *mModel;
//The media Model to acess the attributes whether image is in favourite folder or not;owned by this view
- GlxFavMediaModel *mFavModel;
-
- //The Model for the Form
- HbDataFormModel *mDetailModel;
-
+ GlxFavMediaModel *mFavModel;
+
//The reference to the Main Window
HbMainWindow *mWindow;
-
- //The data form for the detail
- HbDataForm * mDataForm;
-
- //Custom widgets which will contain the widgets not created/supported by data form
- GlxDetailsCustomWidgets *mCustomPrototype;
-
+
int mSelIndex;
- //Contains the Datelabel item
- HbDataFormModelItem *mDateLabelItem;
-
- //Contains the ImageLabel item
- HbDataFormModelItem *mImageLabelitem;
-
- //Contains the Comments item
- HbDataFormModelItem *mCommentsLabelitem;
+ //Document Loader
+ GlxDetailsViewDocLoader *mDocLoader;
+
+ //Shows the Images
+ GlxDetailsNameLabel *mImageName;
+
+ //Shows the descriptions
+ GlxDetailsDescriptionEdit *mDescriptions;
+
+ //Shows the Date
+ HbLabel *mDateLabel;
+
+ //Shows the size of the image
+ HbLabel *mSizeLabel;
+
+ //Shows the time
+ HbLabel *mTimeLabel;
};
#endif //GLXDETAILSVIEW_H
--- a/ui/views/detailsview/src/glxdetailsview.cpp Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/views/detailsview/src/glxdetailsview.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -16,16 +16,22 @@
*/
//--------------------------------------------------------------------------------------------------------------------------------------------
+
+
#include <QModelIndex>
#include <qdatetime.h>
+#include <QDebug>
+#include <HbAnchorLayout.h>
+//--------------------------------------------------------------------------------------------------------------------------------------------
-//--------------------------------------------------------------------------------------------------------------------------------------------
#include <hblabel.h>
#include <hbdataform.h>
#include <hbinstance.h>
#include <hbiconitem.h>
-#include <hblineedit.h>
+#include <hbframeitem.h>
+#include <hbpushbutton.h>
#include <hbdataformmodel.h>
+#include <hbdocumentloader.h>
#include <hbdataformmodelitem.h>
#include <hbdataformviewitem.h>
@@ -33,45 +39,59 @@
#include "glxviewids.h"
#include "glxicondefs.h" //Contains the icon names/Ids
#include "glxmodelparm.h"
+#include "glxmediamodel.h"
#include "glxdetailsview.h"
#include "glxfavmediamodel.h"
+#include "glxdocloaderdefs.h"
#include <glxcommandhandlers.hrh>
-#include "glxdetailscustomicon.h"
-#include "glxdetailscustomwidgets.h"
+#include "glxdetailsdescriptionedit.h"
+#include "glxdetailsnamelabel.h"
+
+
+#include "glxviewdocloader.h"
#include <glxcollectionpluginalbums.hrh>
+#include "glxlog.h"
+#include "glxloggerenabler.h"
+
#include "OstTraceDefinitions.h"
#ifdef OST_TRACE_COMPILER_IN_USE
#include "glxdetailsviewTraces.h"
#endif
-
//SIZE OF THE IMAGE , LAYOUTS TEAM NEED TO GIVER THE SIZE IN UNITS
#define GLX_IMAGE_SIZE 215
+const int KBytesInKB = 1024;
+const int KBytesInMB = 1024 * 1024;
+const int KBytesInGB = 1024 * 1024 * 1024;
//--------------------------------------------------------------------------------------------------------------------------------------------
//GlxDetailsView
//--------------------------------------------------------------------------------------------------------------------------------------------
-GlxDetailsView::GlxDetailsView(HbMainWindow *window) :
- GlxView ( GLX_DETAILSVIEW_ID),
- mDetailsIcon(NULL),
- mFavIcon(NULL),
- mModel(NULL),
- mFavModel(NULL),
- mDetailModel(NULL),
- mWindow(window),
- mDataForm(NULL),
- mCustomPrototype(NULL),
- mSelIndex(0),
- mDateLabelItem(NULL),
- mImageLabelitem(NULL),
- mCommentsLabelitem(NULL)
- {
- OstTraceFunctionEntry0( GLXDETAILSVIEW_GLXDETAILSVIEW_ENTRY );
- setContentFullScreen( true );//for smooth transtion between grid to full screen and vice versa
+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)
+ {
+ GLX_LOG_INFO("GlxDetailsView::GlxDetailsView");
+ OstTraceFunctionEntry0( GLXDETAILSVIEW_GLXDETAILSVIEW_ENTRY );
+ setContentFullScreen(true);//for smooth transtion between grid to full screen and vice versa
OstTraceFunctionExit0( GLXDETAILSVIEW_GLXDETAILSVIEW_EXIT );
- }
+ }
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//~GlxDetailsView
+//--------------------------------------------------------------------------------------------------------------------------------------------
+GlxDetailsView::~GlxDetailsView()
+ {
+ OstTrace0( TRACE_IMPORTANT, GLXDETAILSVIEW_GLXDETAILSVIEW, "GlxDetailsView::~GlxDetailsView" );
+
+ delete mDocLoader;
+ mDocLoader = NULL;
+
+ cleanUp();
+ }
//--------------------------------------------------------------------------------------------------------------------------------------------
//activate
@@ -79,9 +99,21 @@
void GlxDetailsView::activate()
{
OstTraceFunctionEntry0( GLXDETAILSVIEW_ACTIVATE_ENTRY );
- setFormData();
- connect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(updateLayout(Qt::Orientation)));
- connect(mFavIcon,SIGNAL(updateFavourites()),this ,SLOT(updateFavourites()));
+ //create and set the Favourite Model
+ setFavModel();
+
+ //fill the data
+ FillDetails();
+
+ //Initialze the Model
+ initializeNewModel();
+
+ //make the connections
+ setConnections();
+
+ //Set context mode to fetch descriptions
+ mModel->setData(QModelIndex(), (int) GlxContextComment, GlxContextRole);
+
OstTraceFunctionExit0( GLXDETAILSVIEW_ACTIVATE_EXIT );
}
@@ -89,38 +121,63 @@
//initializeView
//--------------------------------------------------------------------------------------------------------------------------------------------
void GlxDetailsView::initializeView(QAbstractItemModel *model)
- {
+ {
OstTraceFunctionEntry0( GLXDETAILSVIEW_INITIALIZEVIEW_ENTRY );
+ bool loaded = false;
+
+ if(mDocLoader)
+ {
+ mDocLoader = new GlxDetailsViewDocLoader();
+ }
+
+ //Load the docml
+ mDocLoader->load(GLX_DETAILSVIEW_DOCMLPATH, &loaded);
+
+ HbView *mView = static_cast<HbView*> (mDocLoader->findWidget(
+ GLX_DETAILSVIEW_VIEW));
+
+ HbWidget *mwidget = static_cast<HbWidget*> (mDocLoader->findWidget(
+ "MainWidget"));
- //To show the thumbnail
- if ( mDataForm == NULL) {
- mDataForm = new HbDataForm(this);
- mDetailModel = new HbDataFormModel();
+ mDetailsIcon = static_cast<HbLabel*> (mDocLoader->findWidget(
+ GLX_DETAILSVIEW_IMAGE));
+ mFavIcon = static_cast<HbPushButton*> (mDocLoader->findWidget(
+ GLX_DETAILSVIEW_FAVICON));
- //custom prototype
- mCustomPrototype = new GlxDetailsCustomWidgets(mDataForm);
- QList <HbAbstractViewItem*> protos = mDataForm->itemPrototypes();
- protos.append(mCustomPrototype);
- mDataForm->setItemPrototypes(protos);
+ mDescriptions = static_cast<GlxDetailsDescriptionEdit*> (mDocLoader->findWidget(
+ GLX_DETAILSVIEW_DESCRPTIONTEXT));
+
+ mImageName = static_cast<GlxDetailsNameLabel*> (mDocLoader->findWidget(
+ GLX_DETAILSVIEW_IMGNAME));
+
+ mDateLabel = static_cast<HbLabel*> (mDocLoader->findWidget(
+ GLX_DETAILSVIEW_DATETEXT));
+
+ mTimeLabel = static_cast<HbLabel*> (mDocLoader->findWidget(
+ GLX_DETAILSVIEW_TIMETEXT));
+
+ mSizeLabel = static_cast<HbLabel*> (mDocLoader->findWidget(
+ GLX_DETAILSVIEW_SIZETEXT));
- //Add the Widgets according to the mime type
- addWidgets();
- }
-
- if( mDetailsIcon == NULL) {
- mDetailsIcon = new HbIconItem(this);
- mFavIcon = new GlxDetailsCustomIcon(this);
- }
+ //set the frame graphics to the background of the fav icon
+ HbFrameItem* frame = new HbFrameItem(this);
+ frame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
+ frame->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans");
+ frame->graphicsItem()->setOpacity(0.2);
+ mFavIcon->setBackgroundItem(frame->graphicsItem(), -1);
+ mFavIcon->setBackground(HbIcon("qtg_fr_multimedia_trans"));
+ mFavIcon->setIcon(HbIcon(GLXICON_REMOVE_FAV));
+
+ setWidget(mView);
//Set the Model
- mModel = model;
- initializeNewModel();
+ mModel = model;
//Set the Layout Correspondingly.
updateLayout(mWindow->orientation());
//Shows the Image
- showImage();
+ showImage();
OstTraceFunctionExit0( GLXDETAILSVIEW_INITIALIZEVIEW_EXIT );
}
@@ -129,16 +186,23 @@
//--------------------------------------------------------------------------------------------------------------------------------------------
void GlxDetailsView::resetView()
{
- OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_RESETVIEW, "GlxDetailsView::resetView" );
+ GLX_LOG_INFO("GlxDetailsView::resetView");
+ OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_RESETVIEW, "GlxDetailsView::resetView" );
}
//--------------------------------------------------------------------------------------------------------------------------------------------
//deActivate
//--------------------------------------------------------------------------------------------------------------------------------------------
void GlxDetailsView::deActivate()
- {
+ {
+ GLX_LOG_INFO("GlxDetailsView::deActivate");
OstTraceFunctionEntry0( GLXDETAILSVIEW_DEACTIVATE_ENTRY );
- cleanUp();
+
+ //Remove the context created to update details
+ mModel->setData(QModelIndex(), (int) GlxContextComment,
+ GlxRemoveContextRole);
+ cleanUp();
+
OstTraceFunctionExit0( GLXDETAILSVIEW_DEACTIVATE_EXIT );
}
@@ -150,17 +214,7 @@
clearCurrentModel();
//clear the connections
- if(mWindow) {
- disconnect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(updateLayout(Qt::Orientation)));
- }
-
- if(mFavModel) {
- disconnect( mFavModel, SIGNAL( dataChanged(QModelIndex,QModelIndex) ), this, SLOT( dataChanged(QModelIndex,QModelIndex) ) );
- }
-
- if(mFavIcon) {
- disconnect(mFavIcon,SIGNAL(updateFavourites()),this ,SLOT(updateFavourites()));
- }
+ clearConnections();
delete mFavModel;
mFavModel = NULL;
@@ -169,75 +223,7 @@
mFavIcon = NULL;
delete mDetailsIcon;
- mDetailsIcon = NULL;
- }
-
-//--------------------------------------------------------------------------------------------------------------------------------------------
-//~GlxDetailsView
-//--------------------------------------------------------------------------------------------------------------------------------------------
-GlxDetailsView::~GlxDetailsView()
- {
- OstTrace0( TRACE_IMPORTANT, GLXDETAILSVIEW_GLXDETAILSVIEW, "GlxDetailsView::~GlxDetailsView" );
-
- cleanUp();
-
- if(mDetailModel) {
- delete mDetailModel;
- mDataForm->setModel(0);
- }
-
- if(mDataForm) {
- delete mDataForm;
- mDataForm = NULL;
- }
- }
-
-//--------------------------------------------------------------------------------------------------------------------------------------------
-//addWidgets
-//--------------------------------------------------------------------------------------------------------------------------------------------
-void GlxDetailsView::addWidgets()
- {
- OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_ADDWIDGETS, "GlxDetailsView::addWidgets create Form" );
-
- //----------------------------START OF CREATION OF WIDGETS---------------------------------//
- // To add new widgets in the details view, add it here.
-
- //---------------------------IMAGE NAME LABEL --------------------------------------------//
- OstTrace0( TRACE_NORMAL, DUP1_GLXDETAILSVIEW_ADDWIDGETS, "GlxDetailsView::addWidgets create Image Label" );
- mImageLabelitem = mDetailModel->appendDataFormItem(HbDataFormModelItem::TextItem, QString("Name"), NULL);
-
- //---------------------------DATE LABEL --------------------------------------------//
- OstTrace0( TRACE_NORMAL, DUP2_GLXDETAILSVIEW_ADDWIDGETS, "GlxDetailsView::addWidgets date label" );
- mDateLabelItem = mDetailModel->appendDataFormItem((HbDataFormModelItem::DataItemType)(DateLabelItem), QString("Date"), NULL);
-
-
- //----------------------------COMMENTS TEXT ITEM---------------------------------------------//
- OstTrace0( TRACE_NORMAL, DUP5_GLXDETAILSVIEW_ADDWIDGETS, "GlxDetailsView::addWidgets comment text" );
- mCommentsLabelitem = mDetailModel->appendDataFormItem(HbDataFormModelItem::TextItem, QString("Description"), NULL);
-
- //----------------------------END OF CREATION OF WIDGETS-------------------------------------//
-
- //Set the model to the Data Form
- mDataForm->setModel(mDetailModel);
- }
-
-//--------------------------------------------------------------------------------------------------------------------------------------------
-//setFavModel
-//--------------------------------------------------------------------------------------------------------------------------------------------
-void GlxDetailsView::setFavModel()
- {
- GlxModelParm modelParm;
-
- QString imagePath = (mModel->data(mModel->index(mModel->data(mModel->index(0,0),GlxFocusIndexRole).value<int>(),0),GlxUriRole)).value<QString>();
-
- if(mFavModel == NULL) {
- modelParm.setCollection( KGlxCollectionPluginFavoritesAlbumId );
- modelParm.setContextMode(GlxContextFavorite);
- modelParm.setPath(imagePath);
- mFavModel = new GlxFavMediaModel( modelParm );
- }
- QString imageName = imagePath.section('\\',-1);
- connect( mFavModel, SIGNAL( dataChanged(QModelIndex,QModelIndex) ), this, SLOT( dataChanged(QModelIndex,QModelIndex) ) );
+ mDetailsIcon = NULL;
}
//--------------------------------------------------------------------------------------------------------------------------------------------
@@ -246,25 +232,112 @@
void GlxDetailsView::setModel(QAbstractItemModel *model)
{
OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_SETMODEL, "GlxDetailsView::setModel" );
- if ( mModel == model ) {
- return ;
- }
+ if (mModel == model)
+ {
+ return;
+ }
clearCurrentModel();
mModel = model;
initializeNewModel();
}
//--------------------------------------------------------------------------------------------------------------------------------------------
+//setFavModel
+//--------------------------------------------------------------------------------------------------------------------------------------------
+void GlxDetailsView::setFavModel()
+{
+ GlxModelParm modelParm;
+ QString imagePath = (mModel->data(mModel->index(mModel->data(
+ mModel->index(0, 0), GlxFocusIndexRole).value<int> (), 0),
+ GlxUriRole)).value<QString> ();
+
+ if (mFavModel == NULL)
+ {
+ modelParm.setCollection(KGlxCollectionPluginFavoritesAlbumId);
+ modelParm.setContextMode(GlxContextFavorite);
+ modelParm.setPath(imagePath);
+ mFavModel = new GlxFavMediaModel(modelParm);
+ }
+}
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//initializeNewModel
+//--------------------------------------------------------------------------------------------------------------------------------------------
+void GlxDetailsView::initializeNewModel()
+ {
+ OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_INITIALIZENEWMODEL, "GlxDetailsView::initializeNewModel" );
+
+ if (mModel)
+ {
+ connect(mModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this,
+ SLOT(rowsRemoved(QModelIndex,int,int)));
+ }
+ }
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//clearCurrentModel
+//--------------------------------------------------------------------------------------------------------------------------------------------
+void GlxDetailsView::clearCurrentModel()
+ {
+ OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_CLEARCURRENTMODEL, "GlxDetailsView::clearCurrentModel" );
+
+ if (mModel)
+ {
+ disconnect(mModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this,
+ SLOT(rowsRemoved(QModelIndex,int,int)));
+ mModel = NULL;
+ }
+ }
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//setConnections
+//--------------------------------------------------------------------------------------------------------------------------------------------
+void GlxDetailsView::setConnections()
+ {
+ connect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this,
+ SLOT(updateLayout(Qt::Orientation)));
+ connect(mFavIcon, SIGNAL(clicked()), this, SLOT(updateFavourites()));
+
+ connect(mDescriptions, SIGNAL(labelPressed()), this,
+ SLOT(UpdateDescription()));
+
+ connect(mModel, SIGNAL( updateDetailsView() ), this, SLOT( FillDetails() ));
+
+ connect(mFavModel, SIGNAL( dataChanged(QModelIndex,QModelIndex) ),
+ this, SLOT( dataChanged(QModelIndex,QModelIndex) ));
+ }
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//clearConnections
+//--------------------------------------------------------------------------------------------------------------------------------------------
+void GlxDetailsView::clearConnections()
+ {
+ disconnect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this,
+ SLOT(updateLayout(Qt::Orientation)));
+
+ disconnect(mFavIcon, SIGNAL(clicked()), this, SLOT(updateFavourites()));
+
+ disconnect(mDescriptions, SIGNAL(labelPressed()), this,
+ SLOT(UpdateDescription()));
+
+ disconnect(mModel, SIGNAL( updateDetailsView() ), this, SLOT( FillDetails() ));
+
+ disconnect(mFavModel, SIGNAL( dataChanged(QModelIndex,QModelIndex) ),
+ this, SLOT( dataChanged(QModelIndex,QModelIndex) ));
+ }
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
//getAnimationItem
//--------------------------------------------------------------------------------------------------------------------------------------------
QGraphicsItem * GlxDetailsView::getAnimationItem(GlxEffect transtionEffect)
{
OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_GETANIMATIONITEM, "GlxDetailsView::getAnimationItem" );
- if ( transtionEffect == FULLSCREEN_TO_DETAIL
- || transtionEffect == DETAIL_TO_FULLSCREEN ) {
+ if (transtionEffect == FULLSCREEN_TO_DETAIL || transtionEffect
+ == DETAIL_TO_FULLSCREEN)
+ {
return this;
- }
- return NULL;
+ }
+ return NULL;
}
//--------------------------------------------------------------------------------------------------------------------------------------------
@@ -273,98 +346,77 @@
void GlxDetailsView::updateLayout(Qt::Orientation orient)
{
OstTrace1( TRACE_NORMAL, GLXDETAILSVIEW_UPDATELAYOUT, "GlxDetailsView::updateLayout;orient=%d", orient );
-
- qreal IconPosX = 0.0;
- qreal IconPosY = 0.0;
- qreal FavIconPosX = 0.0;
- qreal FavIconPosY = 0.0;
- qreal DataFormX = 0.0;
- qreal DataFormY = 0.0;
- qreal DataFormWidth = 0.0;
- qreal DataFormHeight = 0.0;
-
-
- qreal screenWidth = 0.0;
- qreal screenHeight = 0.0;
- qreal leftMargin = 0.0;
- qreal bottomMargin = 0.0;
- qreal screenMargin = 0.0;
- qreal favIconSize = 0.0;
- qreal chromeHeight = 0.0;
- qreal middleVerticalMargin = 0.0;
-
- style()->parameter("hb-param-screen-width", screenWidth);
- style()->parameter("hb-param-screen-height", screenHeight);
+ GLX_LOG_INFO("GlxDetailsView::updateLayout ");
+ bool loaded = false;
+ QString section;
- style()->parameter("hb-param-margin-gene-middle-vertical", middleVerticalMargin);
- style()->parameter("hb-param-margin-gene-left", leftMargin);
- style()->parameter("hb-param-margin-gene-bottom", bottomMargin);
- style()->parameter("hb-param-margin-gene-screen", screenMargin);
-
- style()->parameter("hb-param-graphic-size-primary-small", favIconSize);
- style()->parameter("hb-param-widget-chrome-height", chromeHeight);
-
-
- if(orient == Qt::Horizontal)
+ //Load the widgets accroding to the current Orientation
+ if (orient == Qt::Horizontal)
{
- OstTrace0( TRACE_NORMAL, DUP1_GLXDETAILSVIEW_UPDATELAYOUT, "GlxDetailsView::updateLayout HORIZONTAL" );
- setGeometry(0,0,640,360);
- IconPosX = screenMargin;
- IconPosY = (screenMargin + chromeHeight);
- FavIconPosX = (IconPosX + GLX_IMAGE_SIZE - (favIconSize +10));
- FavIconPosY = (IconPosY + GLX_IMAGE_SIZE - (favIconSize + 10));
- DataFormX = screenMargin + GLX_IMAGE_SIZE + leftMargin ;
- DataFormY = screenMargin + chromeHeight ;
-
- //This Commented code should be un commented , once the screen width and height size issue is solved and also
- //the dataform issue of wrapping issue is solved
- // DataFormWidth = screenWidth(640) - DataFormX - screenMargin ;
- // DataFormHeight = screenHeight(360) - DataFormY - screenMargin ;
- DataFormWidth = screenWidth - (screenMargin + screenMargin) ;
- DataFormHeight = screenHeight - DataFormY;
-
+ section = GLX_DETAILSVIEW_LSSECTION;
}
else
{
- OstTrace0( TRACE_NORMAL, DUP2_GLXDETAILSVIEW_UPDATELAYOUT, "GlxDetailsView::updateLayout VERTICAL" );
- setGeometry(0,0,screenWidth,screenHeight);
- IconPosX = (screenWidth/2) - (GLX_IMAGE_SIZE/2);
- IconPosY = (screenMargin + chromeHeight);
- FavIconPosX = (IconPosX + GLX_IMAGE_SIZE - (favIconSize +10));
- FavIconPosY = (IconPosY + GLX_IMAGE_SIZE - (favIconSize +10));
- DataFormX = screenMargin;
- DataFormY = IconPosY + GLX_IMAGE_SIZE + middleVerticalMargin + bottomMargin ;
- DataFormWidth = screenWidth - (screenMargin + screenMargin) ;
- DataFormHeight = screenHeight - DataFormY;
+ section = GLX_DETAILSVIEW_PTSECTION;
}
- mDetailsIcon->setPos(IconPosX,IconPosY);
- //The Numerical should be updated once we get the parameters size from the layouts.
- mFavIcon->setItemGeometry(QRect(FavIconPosX-2 ,FavIconPosY-2 ,favIconSize+12,favIconSize + 12)) ;
- //Place the FavIcon with respect to the Widget.
- mFavIcon->setItemPos(2 ,2 );
- mDataForm->setGeometry(DataFormX,DataFormY,DataFormWidth,DataFormHeight);
+ //Load the Sections
+ mDocLoader->load(GLX_DETAILSVIEW_DOCMLPATH, section, &loaded);
+
+ //This is just to over come the bug in docloader,once that is fixed we can remove the
+ //below lines of code
+ setImageName();
+ setDate();
+
+ GLX_LOG_INFO1("GlxDetailsView::updateLayout =%d\n",loaded);
}
//--------------------------------------------------------------------------------------------------------------------------------------------
//rowsRemoved
//--------------------------------------------------------------------------------------------------------------------------------------------
-void GlxDetailsView::rowsRemoved(const QModelIndex &parent, int start, int end)
+void GlxDetailsView::rowsRemoved(const QModelIndex &parent, int start,
+ int end)
{
Q_UNUSED(parent);
Q_UNUSED(start);
Q_UNUSED(end);
OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_ROWSREMOVED, "GlxDetailsView::rowsRemoved" );
- if ( mModel->rowCount() <= 0 ) {
- return emit actionTriggered( EGlxCmdEmptyData );
+ if (mModel->rowCount() <= 0)
+ {
+ return emit actionTriggered(EGlxCmdEmptyData);
+ }
+
+ if (start <= mSelIndex && end >= mSelIndex)
+ {
+ return emit actionTriggered(EGlxCmdBack);
+ }
}
- if ( start <= mSelIndex && end >= mSelIndex ) {
- return emit actionTriggered( EGlxCmdBack );
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//FillData
+//--------------------------------------------------------------------------------------------------------------------------------------------
+void GlxDetailsView::FillDetails()
+ {
+ OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_SETFORMDATA, "GlxDetailsView::setFormData" );
+
+ qDebug("GlxDetailsView::FillDetails");
+ //Call to set the Image Name
+ setImageName();
+
+ //Call to set the description
+ setDesc();
+
+ //Call to set the date in the from
+ setDate();
+
+ //Call to set the time
+ setTime();
+
+ //Call to set the size
+ setSize();
+
}
- }
-
//--------------------------------------------------------------------------------------------------------------------------------------------
//showImage
//--------------------------------------------------------------------------------------------------------------------------------------------
@@ -372,46 +424,23 @@
{
OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_SHOWIMAGE, "GlxDetailsView::showImage" );
- QVariant variant = mModel->data( mModel->index(0,0), GlxFocusIndexRole );
- if ( variant.isValid() && variant.canConvert<int> () ) {
- mSelIndex = variant.value<int>();
- }
-
- variant = mModel->data( mModel->index( mSelIndex ,0), GlxFsImageRole);
- if ( variant.isValid() && variant.canConvert<HbIcon> () )
+ QVariant variant = mModel->data(mModel->index(0, 0), GlxFocusIndexRole);
+ if (variant.isValid() && variant.canConvert<int> ())
{
- QIcon itemIcon = variant.value<HbIcon>().qicon();
- QPixmap itemPixmap = itemIcon.pixmap(GLX_IMAGE_SIZE,GLX_IMAGE_SIZE);
- QSize sz(GLX_IMAGE_SIZE,GLX_IMAGE_SIZE);
- itemPixmap = itemPixmap.scaled(sz, Qt::IgnoreAspectRatio );
-
-
- HbIcon tmp = HbIcon( QIcon(itemPixmap)) ;
- mDetailsIcon->setSize(QSize(GLX_IMAGE_SIZE, GLX_IMAGE_SIZE));
+ mSelIndex = variant.value<int> ();
+ }
+
+ variant = mModel->data(mModel->index(mSelIndex, 0), GlxFsImageRole);
+ if (variant.isValid() && variant.canConvert<HbIcon> ())
+ {
+ QIcon itemIcon = variant.value<HbIcon> ().qicon();
+ QPixmap itemPixmap = itemIcon.pixmap(GLX_IMAGE_SIZE, GLX_IMAGE_SIZE);
+ QSize sz(GLX_IMAGE_SIZE, GLX_IMAGE_SIZE);
+ itemPixmap = itemPixmap.scaled(sz, Qt::IgnoreAspectRatio);
+
+ HbIcon tmp = HbIcon(QIcon(itemPixmap));
mDetailsIcon->setIcon(tmp);
- mFavIcon->setItemIcon(HbIcon("qtg_graf_ratingslider_unrated"));
-
- qreal favIconSize = 0.0;
- style()->parameter("hb-param-graphic-size-primary-small", favIconSize);
- mFavIcon->setItemSize(QSize(favIconSize+10, favIconSize+10));
- }
- }
-
-//--------------------------------------------------------------------------------------------------------------------------------------------
-//FillData
-//--------------------------------------------------------------------------------------------------------------------------------------------
-void GlxDetailsView::setFormData()
- {
- OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_SETFORMDATA, "GlxDetailsView::setFormData" );
-
- //create and set the Favourite Model
- setFavModel();
-
- //Call to set the Image Name
- setImageName();
-
- //Call to set the date in the from
- setDate();
+ }
}
//--------------------------------------------------------------------------------------------------------------------------------------------
@@ -420,12 +449,27 @@
void GlxDetailsView::setImageName()
{
OstTraceFunctionEntry0( GLXDETAILSVIEW_SETIMAGENAME_ENTRY );
+ QString temp = "<u>";
+ QString imagePath = (mModel->data(mModel->index(mModel->data(
+ mModel->index(0, 0), GlxFocusIndexRole).value<int> (), 0),
+ GlxUriRole)).value<QString> ();
+ QString imageName = imagePath.section('\\', -1);
+
+ temp.append(imageName);
+ temp.append("</u>");
+ mImageName->setItemText(temp);
+ OstTraceFunctionExit0( GLXDETAILSVIEW_SETIMAGENAME_EXIT );
+ }
- QString imagePath = (mModel->data(mModel->index(mModel->data(mModel->index(0,0),GlxFocusIndexRole).value<int>(),0),GlxUriRole)).value<QString>();
- QString imageName = imagePath.section('\\',-1);
-
- mImageLabelitem->setContentWidgetData("text",imageName);
- OstTraceFunctionExit0( GLXDETAILSVIEW_SETIMAGENAME_EXIT );
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//setImageName
+//--------------------------------------------------------------------------------------------------------------------------------------------
+void GlxDetailsView::setDesc()
+ {
+ QString description = (mModel->data(mModel->index(mModel->data(
+ mModel->index(0, 0), GlxFocusIndexRole).value<int> (), 0),
+ GlxDescRole)).value<QString> ();
+ mDescriptions->setItemText(description);
}
//--------------------------------------------------------------------------------------------------------------------------------------------
@@ -436,77 +480,101 @@
OstTraceFunctionEntry0( GLXDETAILSVIEW_SETDATE_ENTRY );
QString datestring;
- QString str("dd.MM.yyyy");
- QDate date = (mModel->data(mModel->index(mModel->data(mModel->index(0,0),GlxFocusIndexRole).value<int>(),0),GlxDateRole)).value<QDate>();
-
- if(date.isNull() == FALSE )
+ QString dateFormat("dd.MM.yyyy");
+ QDate date = (mModel->data(mModel->index(mModel->data(
+ mModel->index(0, 0), GlxFocusIndexRole).value<int> (), 0),
+ GlxDateRole)).value<QDate> ();
+
+ datestring = QString("Date: ");
+ if (date.isNull() == FALSE)
{
- OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_SETDATE, "GlxDetailsView::setDate is not NULL" );
- datestring = date.toString(str);
+ OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_SETDATE, "GlxDetailsView::setDate is not NULL" );
+ datestring.append(date.toString(dateFormat));
}
- mDateLabelItem->setContentWidgetData("plainText",datestring);
+ mDateLabel->setPlainText(datestring);
OstTraceFunctionExit0( GLXDETAILSVIEW_SETDATE_EXIT );
}
//--------------------------------------------------------------------------------------------------------------------------------------------
-//initializeNewModel
+//setTime
//--------------------------------------------------------------------------------------------------------------------------------------------
-void GlxDetailsView::initializeNewModel()
+void GlxDetailsView::setTime()
{
- OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_INITIALIZENEWMODEL, "GlxDetailsView::initializeNewModel" );
-
- if ( mModel ) {
- connect(mModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(rowsRemoved(QModelIndex,int,int)));
- }
+ QString timestring;
+ QString timeFormat("h:m ap");
+ QTime timevalue = (mModel->data(mModel->index(mModel->data(mModel->index(
+ 0, 0), GlxFocusIndexRole).value<int> (), 0), GlxTimeRole)).value<
+ QTime> ();
+ timestring = QString("Time: ");
+ if (timevalue.isNull() == FALSE)
+ {
+ OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_SETDATE, "GlxDetailsView::setTime is not NULL" );
+ timestring.append(timevalue.toString(timeFormat));
+ }
+ mTimeLabel->setPlainText(timestring);
}
//--------------------------------------------------------------------------------------------------------------------------------------------
-//clearCurrentModel
+//setSize
//--------------------------------------------------------------------------------------------------------------------------------------------
-void GlxDetailsView::clearCurrentModel()
+void GlxDetailsView::setSize()
{
- OstTrace0( TRACE_NORMAL, GLXDETAILSVIEW_CLEARCURRENTMODEL, "GlxDetailsView::clearCurrentModel" );
-
- if ( mModel ) {
- disconnect(mModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(rowsRemoved(QModelIndex,int,int)));
- mModel = NULL ;
- }
- }
+ int size = 0;
+ size = (mModel->data(mModel->index(mModel->data(mModel->index(0, 0),
+ GlxFocusIndexRole).value<int> (), 0), GlxSizeRole)).value<int> ();
+ QString sizelabel;
+ QString sizestring;
+ sizelabel = QString("Size : ");
+ sizestring = sizeinStrings(size);
+ sizelabel.append(sizestring);
+ mSizeLabel->setPlainText(sizelabel);
+
+ }
//--------------------------------------------------------------------------------------------------------------------------------------------
//dataChanged
//--------------------------------------------------------------------------------------------------------------------------------------------
void GlxDetailsView::dataChanged(QModelIndex startIndex, QModelIndex endIndex)
{
- Q_UNUSED(endIndex);
-
- QVariant variant = mFavModel->data( startIndex, GlxFavorites );
- if ( variant.isValid() && variant.canConvert<bool> () )
+ Q_UNUSED(endIndex);
+
+ QVariant variant = mFavModel->data(startIndex, GlxFavorites);
+ if (variant.isValid() && variant.canConvert<bool> ())
{
- if(variant.value<bool>() )
- {
- mFavIcon->setItemIcon(HbIcon(GLXICON_ADD_TO_FAV));
+ if (variant.value<bool> ())
+ {
+ mFavIcon->setIcon(HbIcon(GLXICON_ADD_TO_FAV));
}
- else
+ else
{
- mFavIcon->setItemIcon(HbIcon(GLXICON_REMOVE_FAV));
+ mFavIcon->setIcon(HbIcon(GLXICON_REMOVE_FAV));
}
}
}
//--------------------------------------------------------------------------------------------------------------------------------------------
+//UpdateDescription
+//--------------------------------------------------------------------------------------------------------------------------------------------
+void GlxDetailsView::UpdateDescription()
+ {
+ GLX_LOG_INFO("GlxDetailsView::UpdateDescription ");
+ qDebug("GlxDetailsView::UpdateDescription");
+ emit actionTriggered(EGlxCmdComment);
+ }
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
//updateFavourites
//--------------------------------------------------------------------------------------------------------------------------------------------
void GlxDetailsView::updateFavourites()
{
- QVariant variant = mFavModel->data(mFavModel->index(0,0), GlxFavorites );
- if ( variant.isValid() && variant.canConvert<bool> ())
+ QVariant variant = mFavModel->data(mFavModel->index(0, 0), GlxFavorites);
+ if (variant.isValid() && variant.canConvert<bool> ())
{
- if(variant.value<bool>() )
+ if (variant.value<bool> ())
{
- emit actionTriggered( EGlxCmdRemoveFromFav);
+ emit actionTriggered(EGlxCmdRemoveFromFav);
}
else
{
@@ -514,3 +582,35 @@
}
}
}
+
+//--------------------------------------------------------------------------------------------------------------------------------------------
+//sizeinStrings
+//--------------------------------------------------------------------------------------------------------------------------------------------
+QString GlxDetailsView::sizeinStrings(int size)
+ {
+ QString sizeString;
+ if (size >= KBytesInGB)
+ {
+ int gbSize = size / KBytesInGB; // Size in GB
+ sizeString.setNum(gbSize);
+ sizeString.append("GB");
+ }
+ else if (size >= KBytesInMB)
+ {
+ int mbSize = size / KBytesInMB; // Size in MB
+ sizeString.setNum(mbSize);
+ sizeString.append("MB");
+ }
+ else if (size >= KBytesInKB)
+ {
+ TInt kBsize = size / KBytesInKB; // bytes to kB
+ sizeString.setNum(kBsize);
+ sizeString.append("KB");
+ }
+ else
+ {
+ sizeString.setNum(size);
+ sizeString.append("Bytes");
+ }
+ return sizeString;
+ }
--- a/ui/views/docloaders/inc/glxviewdocloader.h Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/views/docloaders/inc/glxviewdocloader.h Wed Jun 23 18:12:48 2010 +0300
@@ -44,4 +44,14 @@
private: //
};
+//Custom Docloader to load the details view
+class GlxDetailsViewDocLoader : public HbDocumentLoader
+{
+protected:
+ //This creates the custom widget for details
+ QObject* createObject(const QString &type, const QString &name);
+
+ private: //
+};
+
#endif /* GLXVIEWDOCLOADER_H */
--- a/ui/views/docloaders/src/glxviewdocloader.cpp Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/views/docloaders/src/glxviewdocloader.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -30,6 +30,8 @@
#include "glxslideshowwidget.h"
#include "glxslideshowview.h"
#include "glxzoomwidget.h"
+#include "glxdetailsnamelabel.h"
+#include "glxdetailsdescriptionedit.h"
//----------------------------------------------------------------------------------------
// createObject:creates the custom widget and views of fullscreen view
@@ -97,3 +99,34 @@
}
return HbDocumentLoader::createObject(type, name);
}
+
+ //----------------------------------------------------------------------------------------
+// createObject:creates the custom widget and views of details view
+//----------------------------------------------------------------------------------------
+QObject* GlxDetailsViewDocLoader::createObject(const QString &type, const QString &name)
+ {
+ qDebug() <<"GlxDetailsViewDocLoader::createObject -->";
+
+
+ if (GLX_DETAILSVIEW_IMGNAME == name)
+ {
+ qDebug() << "GlxDetailsViewDocLoader::createObject:GLX_DETAILSVIEW_IMGNAME -->";
+
+ QObject *object = new GlxDetailsNameLabel();
+ object->setObjectName(name);
+ return object;
+ }
+
+ if (GLX_DETAILSVIEW_DESCRPTIONTEXT == name)
+ {
+ qDebug() << "GlxDetailsViewDocLoader::createObject:GLX_DETAILSVIEW_DESCRPTIONTEXT -->";
+
+ QObject *object = new GlxDetailsDescriptionEdit();
+ object->setObjectName(name);
+ return object;
+ }
+
+
+ return HbDocumentLoader::createObject(type, name);
+ }
+
--- a/ui/views/fullscreenview/inc/glxcoverflow.h Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/views/fullscreenview/inc/glxcoverflow.h Wed Jun 23 18:12:48 2010 +0300
@@ -73,6 +73,7 @@
void changeSelectedIndex(const QModelIndex &index);
void autoLeftMoveSignal();
void autoRightMoveSignal();
+ void doubleTapEventReceived(QPointF position);
protected slots:
void panGesture ( const QPointF & delta ) ;
@@ -102,6 +103,7 @@
//reset all the data of cover flow
void resetCoverFlow();
int getSubState();
+ void timerEvent(QTimerEvent *event);
private:
HbIconItem *mIconItem[NBR_ICON_ITEM]; //at most contain only five item
@@ -119,6 +121,7 @@
int mSpeed;
bool mZoomOn;
QGraphicsItem* mMultitouchFilter;
+ int mTimerId;
};
#endif /* GLXCOVERFLOW_H_ */
--- a/ui/views/fullscreenview/src/glxcoverflow.cpp Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/views/fullscreenview/src/glxcoverflow.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -45,7 +45,8 @@
mMoveDir(NO_MOVE),
mSpeed ( GLX_COVERFLOW_SPEED ),
mZoomOn(false),
- mMultitouchFilter(NULL)
+ mMultitouchFilter(NULL),
+ mTimerId(0)
{
//TO:DO through exception
qDebug("GlxCoverFlow::GlxCoverFlow");
@@ -63,11 +64,12 @@
{
qDebug("GlxCoverFlow::setCoverFlow");
for ( qint8 i = 0; i < NBR_ICON_ITEM ; i++ ) {
- mIconItem[i] = new HbIconItem(this);
- mIconItem[i]->grabGesture(Qt::PinchGesture, Qt::ReceivePartialGestures);
- mIconItem[i]->installSceneEventFilter(mMultitouchFilter);
- mIconItem[i]->setBrush(QBrush(Qt::black));
- mIconItem[i]->setSize(QSize(0,0));
+ mIconItem[i] = new HbIconItem( this );
+ mIconItem[i]->grabGesture( Qt::PinchGesture, Qt::ReceivePartialGestures );
+ mIconItem[i]->installSceneEventFilter( mMultitouchFilter );
+ mIconItem[i]->setBrush( QBrush( Qt::black ) );
+ mIconItem[i]->setSize( QSize( 0, 0 ) );
+ mIconItem[i]->setAlignment( Qt::AlignCenter );
}
mUiOn = FALSE;
mBounceBackDeltaX = GLX_BOUNCEBACK_DELTA;
@@ -108,7 +110,14 @@
{
if(QTapGesture *gesture = static_cast<QTapGesture *>(event->gesture(Qt::TapGesture))) {
if (gesture->state() == Qt::GestureFinished) {
- emit coverFlowEvent( TAP_EVENT );
+ if(!mTimerId) {
+ mTimerId = startTimer(500);
+ }
+ else {
+ killTimer(mTimerId);
+ mTimerId = 0;
+ emit doubleTapEventReceived(gesture->position());
+ }
event->accept(gesture);
}
}
@@ -535,3 +544,13 @@
indexChanged(index);
}
+
+void GlxCoverFlow::timerEvent(QTimerEvent *event)
+{
+ if(mTimerId == event->timerId())
+ {
+ killTimer(mTimerId);
+ mTimerId = 0;
+ emit coverFlowEvent( TAP_EVENT );
+ }
+}
\ No newline at end of file
--- a/ui/views/fullscreenview/src/glxfullscreenview.cpp Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/views/fullscreenview/src/glxfullscreenview.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -97,9 +97,6 @@
// to make the widget light weight in order to make
// transition smooth
mCoverFlow->partiallyCreate( model, screenSize());
-
- setStatusBarVisible(FALSE);
- setTitleBarVisible(FALSE);
OstTraceFunctionExit0( GLXFULLSCREENVIEW_INITIALIZEVIEW_EXIT );
}
@@ -184,7 +181,10 @@
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);
@@ -208,7 +208,7 @@
if (!mTvOutWrapper){
mTvOutWrapper = new GlxTvOutWrapper();
- }
+ }
OstTraceFunctionExit0( GLXFULLSCREENVIEW_ACTIVATE_EXIT );
}
@@ -285,7 +285,7 @@
if(mZoomWidget)
{
mZoomWidget->cleanUp();
-
+ mZoomWidget = NULL;
}
OstTraceFunctionExit0( GLXFULLSCREENVIEW_CLEANUP_EXIT );
}
@@ -312,10 +312,9 @@
mZoomWidget->setModel(mModel);
mCoverFlow->setModel(mModel);
setImageStripModel();
- if(getSubState() == IMAGEVIEWER_S)
- {
+ if(getSubState() == IMAGEVIEWER_S) {
setTitle("Image Viewer");
- }
+ }
else if(getSubState() == FETCHER_S){
setStatusBarVisible(TRUE);
setTitleBarVisible(TRUE);
@@ -324,13 +323,12 @@
}
void GlxFullScreenView::setHdmiModel(QAbstractItemModel* model)
- {
- if (mTvOutWrapper)
- mTvOutWrapper->setModel(model);
-
- // for the first image on screen
- mTvOutWrapper->setImagetoHDMI();
- }
+{
+ if (mTvOutWrapper) {
+ mTvOutWrapper->setModel(model);
+ mTvOutWrapper->setImagetoHDMI(); // for the first image on screen
+ }
+}
void GlxFullScreenView::setModelContext()
{
@@ -435,18 +433,20 @@
QVariant variant = mModel->data( mModel->index(0,0), GlxFocusIndexRole );
if ( variant.isValid() && variant.canConvert<int> () && ( index.row() == variant.value<int>() ) ) {
- OstTraceFunctionExit0( GLXFULLSCREENVIEW_CHANGESELECTEDINDEX_EXIT );
- if (mTvOutWrapper){
- // for the image changed on deletion
- mTvOutWrapper->setImagetoHDMI();
- }
- return;
- }
- mModel->setData( index, index.row(), GlxFocusIndexRole );
+ OstTraceFunctionExit0( GLXFULLSCREENVIEW_CHANGESELECTEDINDEX_EXIT );
+ if (mTvOutWrapper){
+ // for the image changed on deletion
+ mTvOutWrapper->setImagetoHDMI();
+ }
+ return;
+ }
+
+ mModel->setData( index, index.row(), GlxFocusIndexRole );
+ mModel->setData( index, index.row(), GlxVisualWindowIndex );
mZoomWidget->indexChanged(index.row());
if (mTvOutWrapper){
- // for the image changed on swipe
- mTvOutWrapper->setImagetoHDMI();
+ // for the image changed on swipe
+ mTvOutWrapper->setImagetoHDMI();
}
OstTraceFunctionExit0( DUP1_GLXFULLSCREENVIEW_CHANGESELECTEDINDEX_EXIT );
}
@@ -639,6 +639,7 @@
if(mCoverFlow && mZoomWidget) {
connect(mZoomWidget,SIGNAL( pinchGestureReceived(int) ), mCoverFlow, SLOT( zoomStarted(int) ) );
connect(mZoomWidget,SIGNAL( zoomWidgetMovedBackground(int) ), mCoverFlow, SLOT( zoomFinished(int) ) );
+ connect(mCoverFlow,SIGNAL( doubleTapEventReceived(QPointF) ), mZoomWidget, SLOT( animateZoomIn(QPointF) ) );
}
connect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(orientationChanged(Qt::Orientation)));
@@ -670,7 +671,6 @@
GLX_LOG_INFO("GlxFullScreenView::removeConnection() mUiOffTimer " );
disconnect(mUiOffTimer, SIGNAL(timeout()), this, SLOT(hideUi()));
}
-
if(mFlipAction) {
disconnect(mFlipAction, SIGNAL(triggered( )), this, SLOT(handleToolBarAction( )) );
--- a/ui/views/gridview/inc/glxgridview.h Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/views/gridview/inc/glxgridview.h Wed Jun 23 18:12:48 2010 +0300
@@ -71,11 +71,6 @@
protected :
QVariant itemChange (GraphicsItemChange change, const QVariant &value) ;
-
- /*
- * To emit the signal when application goes into background or come back to foreground
- */
- bool eventFilter(QObject *obj, QEvent *ev);
private slots:
void indicateLongPress(const QModelIndex& index, QPointF coords);
--- a/ui/views/gridview/src/glxgridview.cpp Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/views/gridview/src/glxgridview.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -30,7 +30,6 @@
#include <hblabel.h>
#include <QString>
#include <hbframeitem.h>
-#include <QCoreApplication>
//User Includes
#include "glxviewids.h"
@@ -39,19 +38,16 @@
#include "glxcommandhandlers.hrh"
#include "glxicondefs.h"
#include "glxlocalisationstrings.h"
-#include "glxlog.h"
-#include "glxtracer.h"
-
#include "OstTraceDefinitions.h"
#ifdef OST_TRACE_COMPILER_IN_USE
#include "glxgridviewTraces.h"
#endif
-GlxGridView::GlxGridView(HbMainWindow *window)
- : GlxView ( GLX_GRIDVIEW_ID ),
- mWindow(window),
- mModel ( NULL),
+GlxGridView::GlxGridView(HbMainWindow *window)
+ : GlxView ( GLX_GRIDVIEW_ID ),
+ mWindow(window),
+ mModel ( NULL),
mWidget(NULL),
mSelectionModel(NULL),
mModelWrapper(NULL),
@@ -87,14 +83,14 @@
loadGridView();
connect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(orientationchanged(Qt::Orientation)),Qt::UniqueConnection);
if(mCountItem == NULL) {
- mCountItem = new HbLabel(this);
+ mCountItem = new HbLabel(this);
HbFrameItem *frame = new HbFrameItem(this); //graphics for mCountItem
frame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
frame->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans");
frame->graphicsItem()->setOpacity(1);
mCountItem->setBackgroundItem(frame->graphicsItem(),-1);
+ mCountItem->hide();
}
- QCoreApplication::instance()->installEventFilter(this);
OstTraceFunctionExit0( GLXGRIDVIEW_ACTIVATE_EXIT );
}
@@ -104,7 +100,7 @@
mScrolling = FALSE;
if (mUiOnButton){
mUiOnButton->hide();
- }
+ }
if(mIconItem) {
mIconItem->hide();
mIconItem->resetTransform();
@@ -123,7 +119,6 @@
if(mCameraButton) {
mCameraButton->hide();
}
- QCoreApplication::instance()->removeEventFilter(this);
disconnect(mWindow, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(orientationchanged(Qt::Orientation)));
OstTraceFunctionExit0( GLXGRIDVIEW_DEACTIVATE_EXIT );
}
@@ -171,7 +166,7 @@
mWidget->setDefaultImage(variantimage.value<QImage>());
}
mModelWrapper->setModel(mModel);
- mWidget->setModel(mModelWrapper);
+ mWidget->setModel(mModelWrapper);
if(!mSelectionModel)
{
mSelectionModel = new QItemSelectionModel(mModelWrapper, this);
@@ -196,10 +191,10 @@
}
}
-void GlxGridView::addToolBar( HbToolBar *toolBar )
+void GlxGridView::addToolBar( HbToolBar *toolBar )
{
- OstTraceFunctionEntry0( GLXGRIDVIEW_ADDTOOLBAR_ENTRY );
- setToolBar(toolBar);
+ OstTraceFunctionEntry0( GLXGRIDVIEW_ADDTOOLBAR_ENTRY );
+ setToolBar(toolBar);
hideorshowitems(mWindow->orientation());
OstTraceFunctionExit0( GLXGRIDVIEW_ADDTOOLBAR_EXIT );
}
@@ -209,7 +204,7 @@
OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ENABLEMARKING, "GlxGridView::enableMarking" );
mWidget->setSelectionMode(HgWidget::MultiSelection);
if (mMainLabel == NULL) {
- mMainLabel = new HbLabel("Select Photos", this);
+ mMainLabel = new HbLabel("Select Photos", this);
HbFrameItem *frame1 = new HbFrameItem(this); //graphics for mMainLabel
frame1->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
frame1->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans");
@@ -217,7 +212,7 @@
mMainLabel->setBackgroundItem(frame1->graphicsItem(),-1);
}
if (mMarkCheckBox == NULL) {
- mMarkCheckBox = new HbCheckBox(GLX_OPTION_MARK_ALL, this);
+ mMarkCheckBox = new HbCheckBox(GLX_OPTION_MARK_ALL, this);
HbFrameItem *frame2 = new HbFrameItem(this); //graphics for mMarkCheckBox
frame2->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
frame2->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans");
@@ -225,7 +220,7 @@
mMarkCheckBox->setBackgroundItem(frame2->graphicsItem(),-1);
}
if (mCountLabel == NULL) {
- mCountLabel = new HbLabel(this);
+ mCountLabel = new HbLabel(this);
HbFrameItem *frame3 = new HbFrameItem(this); //graphics for mCountLabel
frame3->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
frame3->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans");
@@ -240,7 +235,7 @@
}
-void GlxGridView::disableMarking()
+void GlxGridView::disableMarking()
{
OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_DISABLEMARKING, "GlxGridView::disableMarking" );
mWidget->setSelectionMode(HgWidget::NoSelection);
@@ -295,7 +290,11 @@
}
if(isItemVisible(Hb::TitleBarItem)) {
QString text;
- if (getSubState() == ALL_ITEM_S) {
+ if(XQServiceUtil::isService())
+ {
+ showAlbumTitle(GLX_FETCHER_TITLE);
+ }
+ else if (getSubState() == ALL_ITEM_S) {
if (mAlbumName) {
mAlbumName->hide();
}
@@ -337,14 +336,17 @@
if (mAlbumName) {
mAlbumName->hide();
}
-
- showNoImageString();
-
- if (getSubState() == ALBUM_ITEM_S) {
+
+ showNoImageString();
+
+ if (getSubState() == ALBUM_ITEM_S) {
QVariant variant = mModel->data(mModel->index(0,0),GlxViewTitle);
if (variant.toString() != NULL) {
showAlbumTitle(variant.toString());
}
+ }
+ else if(XQServiceUtil::isService()){
+ showAlbumTitle(GLX_FETCHER_TITLE);
}
}
}
@@ -358,7 +360,7 @@
QSize screenSize = ( mWindow->orientation() == Qt::Vertical ) ? QSize( deviceSize.width(), deviceSize.height() )
: QSize( deviceSize.height(), deviceSize.width() ) ;
if(mAlbumName == NULL) {
- mAlbumName = new HbLabel(this);
+ mAlbumName = new HbLabel(this);
HbFrameItem *frame = new HbFrameItem(this); //graphics for mAlbumName
frame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
frame->frameDrawer().setFrameGraphicsName("qtg_fr_multimedia_trans");
@@ -366,23 +368,32 @@
mAlbumName->setBackgroundItem(frame->graphicsItem(),-1);
}
- if(count && isItemVisible(Hb::TitleBarItem)) {
- mAlbumName->setGeometry(QRectF(0,0,screenSize.width()/2,deviceSize.height()/24));
- QString text = QString(aTitle);
- mAlbumName->setPlainText( text );
- mAlbumName->show();
- mCountItem->setGeometry(QRectF(screenSize.width()/2,0,screenSize.width()/2,deviceSize.height()/24));
- text = QString("(%1)").arg(count);
- mCountItem->setPlainText( text );
- mCountItem->setAlignment(Qt::AlignRight);
- mCountItem->show();
- }
- else if((!count) && isItemVisible(Hb::TitleBarItem)) {
+ //If fetcher service set only title text
+ if((XQServiceUtil::isService() ) && isItemVisible(Hb::TitleBarItem)) {
mAlbumName->setGeometry(QRectF(0,0,screenSize.width(),deviceSize.height()/24));
QString text = QString(aTitle);
mAlbumName->setPlainText( text );
mAlbumName->show();
}
+ else{ //handle album tiltle and count display logic here
+ if( count && isItemVisible(Hb::TitleBarItem)) {
+ mAlbumName->setGeometry(QRectF(0,0,screenSize.width()/2,deviceSize.height()/24));
+ QString text = QString(aTitle);
+ mAlbumName->setPlainText( text );
+ mAlbumName->show();
+ mCountItem->setGeometry(QRectF(screenSize.width()/2,0,screenSize.width()/2,deviceSize.height()/24));
+ text = QString("(%1)").arg(count);
+ mCountItem->setPlainText( text );
+ mCountItem->setAlignment(Qt::AlignRight);
+ mCountItem->show();
+ }
+ else if((!count) && isItemVisible(Hb::TitleBarItem)) {
+ mAlbumName->setGeometry(QRectF(0,0,screenSize.width(),deviceSize.height()/24));
+ QString text = QString(aTitle);
+ mAlbumName->setPlainText( text );
+ mAlbumName->show();
+ }
+ }
}
void GlxGridView::showNoImageString()
@@ -396,8 +407,13 @@
style()->parameter("hb-param-widget-chrome-height", chromeHeight);
midHeight -= chromeHeight;
}
- if (mZeroItemLabel == NULL) {
- mZeroItemLabel = new HbLabel("(No Images)\n To capture images Open", this);
+ if (mZeroItemLabel == NULL) {
+ QString displayText(GLX_GRID_NO_IMAGE);
+ if(!XQServiceUtil::isService())
+ {
+ displayText.append(GLX_GRID_OPEN_CAMERA);
+ }
+ mZeroItemLabel = new HbLabel(displayText, this);
}
mZeroItemLabel->setGeometry(QRectF(0, midHeight - deviceSize.height()/16, screenSize.width(), 3*deviceSize.height()/32));
mZeroItemLabel->setAlignment(Qt::AlignHCenter);
@@ -405,10 +421,14 @@
if (mCameraButton == NULL) {
mCameraButton = new HbPushButton(this);
mCameraButton->setIcon(HbIcon(GLXICON_CAMERA));
+ mCameraButton->hide();
connect(mCameraButton, SIGNAL(clicked(bool)), this, SLOT(cameraButtonClicked(bool)));
}
- mCameraButton->setGeometry(QRectF(screenSize.width()/2 - 3*deviceSize.height()/64, midHeight + deviceSize.height()/32, deviceSize.height()/32, deviceSize.height()/32));
- mCameraButton->show();
+ if(!XQServiceUtil::isService())
+ {
+ mCameraButton->setGeometry(QRectF(screenSize.width()/2 - 3*deviceSize.height()/64, midHeight + deviceSize.height()/32, deviceSize.height()/32, deviceSize.height()/32));
+ mCameraButton->show();
+ }
}
void GlxGridView::populated()
@@ -416,20 +436,6 @@
showItemCount();
}
-bool GlxGridView::eventFilter(QObject *obj, QEvent *event)
-{
- TRACER("GlxGridView::eventFilter() ");
- GLX_LOG_INFO1("GlxGridView::eventFilter() %d event type", event->type());
-
- if ( event->type() == QEvent::ApplicationActivate ) {
- emit actionTriggered( EGlxCmdAppForeground );
- }
- if ( event->type() == QEvent::ApplicationDeactivate ) {
- emit actionTriggered( EGlxCmdAppBackground );
- }
- return HbView::eventFilter(obj,event);
-}
-
void GlxGridView::handleUserAction(qint32 commandId)
{
OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_HANDLEUSERACTION, "GlxGridView::handleUserAction" );
@@ -440,11 +446,11 @@
case EGlxCmdUnMarkAll :
mWidget->clearSelection();
- break;
+ break;
default :
break;
- }
+ }
}
QItemSelectionModel * GlxGridView::getSelectionModel()
@@ -464,12 +470,12 @@
if ( transitionEffect == GRID_TO_FULLSCREEN )
{
- QVariant variant = mModel->data( mModel->index(0,0), GlxFocusIndexRole );
- if ( variant.isValid() && variant.canConvert<int> () )
+ QVariant variant = mModel->data( mModel->index(0,0), GlxFocusIndexRole );
+ if ( variant.isValid() && variant.canConvert<int> () )
{
- selIndex = variant.value<int>();
- }
- else
+ selIndex = variant.value<int>();
+ }
+ else
{
return mWidget;
}
@@ -493,7 +499,7 @@
mIconItem->setPos(itemRect.topLeft());
mIconItem->setZValue(mIconItem->zValue() + 20);
mIconItem->show();
- return mIconItem;
+ return mIconItem;
}
else
{
@@ -505,7 +511,7 @@
return mWidget;
}
OstTraceFunctionExit0( GLXGRIDVIEW_GETANIMATIONITEM_EXIT );
- return NULL;
+ return NULL;
}
void GlxGridView::loadGridView()
@@ -518,8 +524,8 @@
mWindow->viewport()->grabGesture(Qt::TapAndHoldGesture);
mWidget = new HgGrid(orient);
mWidget->setLongPressEnabled(true);
- mWidget->setScrollBarPolicy(HgWidget::ScrollBarAutoHide);
- setWidget( mWidget );
+ mWidget->setScrollBarPolicy(HgWidget::ScrollBarAutoHide);
+ setWidget( mWidget );
addViewConnection();
hideorshowitems(orient);
}
@@ -532,24 +538,24 @@
}
void GlxGridView::hideorshowitems(Qt::Orientation orient)
{
- if (mWidget && mWidget->selectionMode() == HgWidget::NoSelection) {
- if(orient == Qt::Horizontal)
- {
+ if ( mWidget && mWidget->selectionMode() == HgWidget::NoSelection ) {
+ 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)
- {
+ if (mUiOnButton) {
mUiOnButton->show();
- }
}
- else
- {
+ }
+ else {
showHbItems();
- }
+ }
}
-
- if (mWidget && mWidget->selectionMode() == HgWidget::MultiSelection) {
+ else if (mWidget && mWidget->selectionMode() == HgWidget::MultiSelection) {
setItemVisible(Hb::TitleBarItem, FALSE) ;
if (mUiOnButton) {
mUiOnButton->hide();
@@ -578,8 +584,8 @@
{
if(mModelWrapper && mWidget)
{
- QVariant variant = mModelWrapper->data( mModelWrapper->index(0,0), GlxFocusIndexRole );
- if ( variant.isValid() && variant.canConvert<int> () )
+ QVariant variant = mModelWrapper->data( mModelWrapper->index(0,0), GlxFocusIndexRole );
+ if ( variant.isValid() && variant.canConvert<int> () )
{
mWidget->scrollTo( mModelWrapper->index( variant.value<int>(),0) );
mModel->setData(mModel->index(0,0),variant.value<int>(),GlxVisualWindowIndex);
@@ -587,9 +593,9 @@
}
}
-QVariant GlxGridView::itemChange (GraphicsItemChange change, const QVariant &value)
+QVariant GlxGridView::itemChange (GraphicsItemChange change, const QVariant &value)
{
- OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ITEMCHANGE, "GlxGridView::itemChange" );
+ OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_ITEMCHANGE, "GlxGridView::itemChange" );
static bool isEmit = true;
if ( isEmit && change == QGraphicsItem::ItemVisibleHasChanged && value.toBool() ) {
emit actionTriggered( EGlxCmdSetupItem );
@@ -627,21 +633,18 @@
void GlxGridView::itemSelected(const QModelIndex & index)
{
OstTrace1( TRACE_NORMAL, GLXGRIDVIEW_ITEMSELECTED, "GlxGridView::itemSelected;index=%d", index.row() );
- if ( mWidget->selectionMode() == HgWidget::MultiSelection )
- {
+ if ( mWidget->selectionMode() == HgWidget::MultiSelection ) {
return ;
- }
- if(XQServiceUtil::isService()){
+ }
+ if(XQServiceUtil::isService()){
emit gridItemSelected(index);
return;
- }
- OstTraceEventStart0( EVENT_DUP1_GLXGRIDVIEW_ITEMSELECTED_START, "Fullscreen Launch Time" );
- if ( mModel )
- {
+ }
+ OstTraceEventStart0( EVENT_DUP1_GLXGRIDVIEW_ITEMSELECTED_START, "Fullscreen Launch Time" );
+ if ( mModel ) {
mModel->setData( index, index.row(), GlxFocusIndexRole );
- }
- setItemVisible(Hb::AllItems, FALSE);
- emit actionTriggered( EGlxCmdFullScreenOpen );
+ }
+ emit actionTriggered( EGlxCmdFullScreenOpen );
OstTraceEventStop( EVENT_DUP1_GLXGRIDVIEW_ITEMSELECTED_STOP, "Fullscreen Launch Time", EVENT_DUP1_GLXGRIDVIEW_ITEMSELECTED_START );
}
@@ -682,7 +685,7 @@
if ( index.row() < 0 || index.row() >= mModel->rowCount() )
{
return;
- }
+ }
if(mModel)
{
mModel->setData( index, index.row(), GlxVisualWindowIndex);
@@ -722,15 +725,15 @@
void GlxGridView::indicateLongPress(const QModelIndex& index, QPointF coords)
{
OstTrace0( TRACE_NORMAL, GLXGRIDVIEW_INDICATELONGPRESS, "GlxGridView::indicateLongPress" );
-
+
if ( mWidget->selectionMode() == HgWidget::MultiSelection )
- {
+ {
return;
- }
- if ( mModel )
+ }
+ if ( mModel )
{
mModel->setData( index, index.row(), GlxFocusIndexRole );
- }
+ }
emit itemSpecificMenuTriggered(viewId(),coords);
}
--- a/ui/views/listview/src/glxlistview.cpp Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/views/listview/src/glxlistview.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -43,7 +43,6 @@
{
qDebug("GlxListView::GlxListView()");
mDocLoader = new HbDocumentLoader();
- setContentFullScreen( true );
}
void GlxListView::activate()
@@ -137,13 +136,13 @@
mView = static_cast<HbView*>(mDocLoader->findWidget(QString(GLX_LISTVIEW_VIEW)));
mListView = static_cast<HbListView*>(mDocLoader->findWidget(QString(GLX_LISTVIEW_LIST)));
- if(mListView) {
+ if( mListView ) {
//sets the widget
setWidget((QGraphicsWidget*) mView);
+ HbListViewItem *prototype = mListView->listItemPrototype();
+ prototype->setStretchingStyle(HbListViewItem::StretchLandscape);
}
}
- HbListViewItem *prototype = mListView->listItemPrototype();
- prototype->setStretchingStyle(HbListViewItem::StretchLandscape);
}
}
--- a/ui/views/slideshowview/src/glxslideshowwidget.cpp Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/views/slideshowview/src/glxslideshowwidget.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -72,8 +72,9 @@
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 );
}
mSlideTimer = new QTimer();
@@ -170,7 +171,7 @@
GLX_LOG_INFO3("GlxSlideShowWidget::triggeredEffect() image selected index %d array index %d index %d", mSelIndex, mItemIndex, index);
mEffectEngine->runEffect( mItemList, QString("HbIconItem") );
emit slideShowEvent( EFFECT_STARTED );
- }
+}
void GlxSlideShowWidget::effectFinshed()
{
@@ -182,6 +183,7 @@
mSelIndex = ( ++mSelIndex ) % rowCount;
mItemIndex = ( ++mItemIndex ) % NBR_ITEM;
mModel->setData( mModel->index(mSelIndex, 0), mSelIndex, GlxFocusIndexRole );
+ mModel->setData( mModel->index(mSelIndex, 0), mSelIndex, GlxVisualWindowIndex );
setIconItems( MOVE_FORWARD );
GLX_LOG_INFO2("GlxSlideShowWidget::effectFinshed() after image selected index %d array index %d ", mSelIndex, mItemIndex);
@@ -315,6 +317,7 @@
mSelIndex = ( ++mSelIndex ) % rowCount;
mItemIndex = ( ++mItemIndex ) % NBR_ITEM;
mModel->setData( mModel->index(mSelIndex, 0), mSelIndex, GlxFocusIndexRole );
+ mModel->setData( mModel->index(mSelIndex, 0), mSelIndex, GlxVisualWindowIndex );
setIconItems( MOVE_FORWARD );
startSlideShow();
@@ -331,8 +334,9 @@
mSelIndex = mSelIndex ? --mSelIndex : rowCount - 1;
mItemIndex = mItemIndex ? mItemIndex - 1 : NBR_ITEM - 1;
mModel->setData( mModel->index(mSelIndex, 0), mSelIndex, GlxFocusIndexRole );
+ mModel->setData( mModel->index(mSelIndex, 0), mSelIndex, GlxVisualWindowIndex );
- setIconItems( MOVE_BACKWARD);
+ setIconItems( MOVE_BACKWARD );
startSlideShow();
emit indexchanged(); // on right swipe
}
--- a/ui/views/views.pro Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/views/views.pro Wed Jun 23 18:12:48 2010 +0300
@@ -21,6 +21,7 @@
CONFIG += hb
LIBS += -lglxfavmediamodel.dll \
+ -lglxmediamodel.dll \
-lglximagedecoderwrapper.dll \
-lglxloggerqt.dll \
-lshareui.dll \
@@ -31,14 +32,19 @@
-lganeswidgets.dll \
-lglxmodelwrapper.dll \
-lglxviewutilities.dll \
- -lglxzoomwidget.dll
+ -lglxzoomwidget.dll \
+ -ldetailsnamelabel.dll \
+ -ldetailsnamelabelplugin.dll \
+ -ldetailsdescriptionedit.dll \
+ -ldetailsdescriptioneditplugin.dll
DEFINES += BUILD_GLXVIEWS
INCLUDEPATH += . ../inc \
../../inc \
- ../widgets/glxzoomwidget/inc \
- ../uiengine/model/favmediamodel/inc \
+ ../widgets/glxzoomwidget/inc \
+ ../uiengine/model/mediamodel/inc \
+ ../uiengine/model/favmediamodel/inc \
../uiengine/medialistwrapper/inc \
../viewbase/inc \
../../commonutilities/imagedecoderwrapper/inc \
@@ -48,7 +54,9 @@
../uiengine/model/modelwrapper/inc \
../viewutilities/effectengine/inc \
../viewutilities/settingutility/inc \
- /epoc32/include/mw/hgwidgets
+ /epoc32/include/mw/hgwidgets \
+ ../detailscustomwidget/detailsnamelabel/inc \
+ ../detailscustomwidget/detailsdescriptionedit/inc
symbian: {
TARGET.UID3 = 0x200009EF
@@ -62,8 +70,6 @@
fullscreenview/inc/glxcoverflow.h \
fullscreenview/inc/glxfullscreenview.h \
detailsview/inc/glxdetailsview.h \
- detailsview/inc/glxdetailscustomwidgets.h \
- detailsview/inc/glxdetailscustomicon.h \
gridview/inc/glxgridview.h \
slideshowsettingsview/inc/glxslideshowsettingsview.h \
listview/inc/glxlistview.h \
@@ -76,8 +82,6 @@
fullscreenview/src/glxcoverflow.cpp \
fullscreenview/src/glxfullscreenview.cpp \
detailsview/src/glxdetailsview.cpp \
- detailsview/src/glxdetailscustomwidgets.cpp \
- detailsview/src/glxdetailscustomicon.cpp \
gridview/src/glxgridview.cpp \
slideshowsettingsview/src/glxslideshowsettingsview.cpp \
listview/src/glxlistview.cpp \
@@ -86,4 +90,13 @@
docloaders/src/glxviewdocloader.cpp \
viewsfactory/src/glxviewsfactory.cpp
-DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
\ No newline at end of file
+DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
+
+defBlock = \
+"$${LITERAL_HASH}if defined(EABI)" \
+"DEFFILE ../eabi/glxviews.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bwins/glxviews.def" \
+ "$${LITERAL_HASH}endif"
+
+MMP_RULES += defBlock
--- a/ui/viewutilities/effectengine/src/glxeffectengine.cpp Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/viewutilities/effectengine/src/glxeffectengine.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -253,13 +253,16 @@
{
qDebug("GlxSlideShowEffectEngine::cleanTrnastionEfffect()");
- foreach( GlxTransitionEffectSetting *list, mTransitionEffectList) {
+ QHashIterator<GlxEffect, GlxTransitionEffectSetting *> iter( mTransitionEffectList );
+
+ while ( iter.hasNext() ) {
+ iter.next();
+ GlxTransitionEffectSetting *list = iter.value();
for ( int i = 0; i < list->count(); ++i ) {
HbEffect::remove( list->itemType().at(i), list->effectFileList().at(i), list->eventType().at(i)) ;
}
- delete list;
+ delete list;
}
- mTransitionEffectList.clear();
-
+ mTransitionEffectList.clear();
}
--- a/ui/viewutilities/viewutilities.pro Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/viewutilities/viewutilities.pro Wed Jun 23 18:12:48 2010 +0300
@@ -57,4 +57,13 @@
effectengine/src/glxtransitioneffect.cpp \
effectengine/src/glxeffectengine.cpp
-DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
\ No newline at end of file
+DEFINES += QT_NO_DEBUG_OUTPUT QT_NO_WARNING_OUTPUT
+
+defBlock = \
+"$${LITERAL_HASH}if defined(EABI)" \
+"DEFFILE ../eabi/glxviewutilities.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bwins/glxviewutilities.def" \
+ "$${LITERAL_HASH}endif"
+
+MMP_RULES += defBlock
--- a/ui/widgets/bwins/glxzoomwidgetu.def Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/widgets/bwins/glxzoomwidgetu.def Wed Jun 23 18:12:48 2010 +0300
@@ -36,4 +36,5 @@
?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 *)
--- a/ui/widgets/eabi/glxzoomwidgetu.def Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/widgets/eabi/glxzoomwidgetu.def Wed Jun 23 18:12:48 2010 +0300
@@ -42,4 +42,5 @@
_ZThn8_N13GlxZoomWidget16sceneEventFilterEP13QGraphicsItemP6QEvent @ 41 NONAME
_ZThn8_N13GlxZoomWidgetD0Ev @ 42 NONAME
_ZThn8_N13GlxZoomWidgetD1Ev @ 43 NONAME
+ _ZN13GlxZoomWidget10timerEventEP11QTimerEvent @ 44 NONAME
--- a/ui/widgets/glxzoomwidget/glxzoomwidget.pro Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/widgets/glxzoomwidget/glxzoomwidget.pro Wed Jun 23 18:12:48 2010 +0300
@@ -41,8 +41,18 @@
}
exportfile = "inc/glxzoomwidget.h APP_LAYER_PLATFORM_EXPORT_PATH(glxzoomwidget.h)"
+exportfile += "inc/glxzoomwidget_global.h APP_LAYER_PLATFORM_EXPORT_PATH(glxzoomwidget_global.h)"
BLD_INF_RULES.prj_exports += exportfile
# Input
HEADERS += inc/glxzoomwidget.h inc/glxzoomwidget_global.h
SOURCES += src/glxzoomwidget.cpp
+
+defBlock = \
+"$${LITERAL_HASH}if defined(EABI)" \
+"DEFFILE ../eabi/glxzoomwidget.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ../bwins/glxzoomwidget.def" \
+ "$${LITERAL_HASH}endif"
+
+MMP_RULES += defBlock
--- a/ui/widgets/glxzoomwidget/inc/glxzoomwidget.h Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/widgets/glxzoomwidget/inc/glxzoomwidget.h Wed Jun 23 18:12:48 2010 +0300
@@ -67,6 +67,7 @@
protected:
bool sceneEvent(QEvent *event);
bool sceneEventFilter(QGraphicsItem *watched,QEvent *event);
+ void timerEvent(QTimerEvent *event);
protected slots:
void dataChanged(QModelIndex startIndex, QModelIndex endIndex);
@@ -130,6 +131,7 @@
bool mPinchGestureOngoing;
//to check if decoded image is available
bool mDecodedImageAvailable;
+ int mTimerId;
};
#endif //GLXZOOMWIDGET_H
--- a/ui/widgets/glxzoomwidget/src/glxzoomwidget.cpp Fri Jun 11 13:38:23 2010 +0300
+++ b/ui/widgets/glxzoomwidget/src/glxzoomwidget.cpp Wed Jun 23 18:12:48 2010 +0300
@@ -23,9 +23,10 @@
#include "glxmodelparm.h"
#include "glxzoomwidget.h"
-GlxZoomWidget::GlxZoomWidget(QGraphicsItem *parent):HbScrollArea(parent), mModel(NULL), mMinZValue(MINZVALUE), mMaxZValue(MAXZVALUE), mImageDecodeRequestSend(false), mPinchGestureOngoing(false), mDecodedImageAvailable(false)
+GlxZoomWidget::GlxZoomWidget(QGraphicsItem *parent):HbScrollArea(parent), mModel(NULL), mMinZValue(MINZVALUE), mMaxZValue(MAXZVALUE), mImageDecodeRequestSend(false), mPinchGestureOngoing(false), mDecodedImageAvailable(false), mTimerId(0)
{
grabGesture(Qt::PinchGesture);
+ grabGesture(Qt::TapGesture);
setAcceptTouchEvents(true) ;
setFrictionEnabled(false);
setZValue(mMinZValue);
@@ -45,7 +46,7 @@
mImageDecoder = new GlxImageDecoderWrapper;
//inititalizing the timer for animation
- m_AnimTimeLine = new QTimeLine(1000, this);
+ m_AnimTimeLine = new QTimeLine(500, this);
m_AnimTimeLine->setFrameRange(0, 100);
connect(m_AnimTimeLine, SIGNAL(frameChanged(int)), this, SLOT(animationFrameChanged(int)));
connect(m_AnimTimeLine, SIGNAL(finished()), this, SLOT(animationTimeLineFinished()));
@@ -96,7 +97,10 @@
void GlxZoomWidget::cleanUp()
{
-// disconnect( mModel, SIGNAL( dataChanged(QModelIndex,QModelIndex) ), this, SLOT( dataChanged(QModelIndex,QModelIndex) ) );
+ if(mModel) {
+ disconnect( mModel, SIGNAL( dataChanged(QModelIndex,QModelIndex) ), this, SLOT( dataChanged(QModelIndex,QModelIndex) ) );
+ mModel = NULL;
+ }
if(mImageDecoder) {
mImageDecoder->resetDecoder();
}
@@ -148,6 +152,20 @@
bool GlxZoomWidget::executeGestureEvent(QGraphicsItem *source,QGestureEvent *event)
{
+ if(QTapGesture *gesture = static_cast<QTapGesture *>(event->gesture(Qt::TapGesture))) {
+ if (gesture->state() == Qt::GestureFinished) {
+ if(!mTimerId) {
+ mTimerId = startTimer(500);
+ }
+ else {
+ killTimer(mTimerId);
+ mTimerId = 0;
+ animateZoomOut(gesture->position());
+ }
+ }
+ event->accept(gesture);
+ return true;
+ }
if (QGesture *pinch = event->gesture(Qt::PinchGesture)) {
QPinchGesture* pinchG = static_cast<QPinchGesture *>(pinch);
QPinchGesture::ChangeFlags changeFlags = pinchG->changeFlags();
@@ -354,6 +372,13 @@
//retreiveFocusedImage();
if(!mDecodedImageAvailable) {
QPixmap targetPixmap(getFocusedImage());
+ mItemSize = targetPixmap.size();
+ mMaxScaleSize = mItemSize;
+ mMaxScaleSize.scale(mWindowSize*13, Qt::KeepAspectRatio);
+ mMaxScaleDecSize = mItemSize;
+ mMaxScaleDecSize.scale(mWindowSize*7, Qt::KeepAspectRatio);
+ mMinScaleSize = mItemSize* 0.7;
+ mMinDecScaleSize = mItemSize;
mZoomItem->setPixmap(targetPixmap);
finalizeWidgetTransform();
}
@@ -439,7 +464,7 @@
m_AnimRefPoint = animRefPoint;
QSizeF requiredSize = mItemSize;
requiredSize.scale(mWindowSize*3.5, Qt::KeepAspectRatio);
- m_FinalAnimatedScaleFactor = requiredSize.width()*3.5/mMinScaleSize.width();
+ m_FinalAnimatedScaleFactor = requiredSize.width()/mMinDecScaleSize.width();
m_AnimTimeLine->setDirection(QTimeLine::Forward);
m_AnimTimeLine->start();
// zoomImage(5, m_AnimRefPoint);
@@ -448,7 +473,7 @@
void GlxZoomWidget::animateZoomOut(QPointF animRefPoint)
{
m_AnimRefPoint = animRefPoint;
- m_FinalAnimatedScaleFactor = mMinScaleSize.width()/mCurrentSize.width();
+ m_FinalAnimatedScaleFactor = mMinDecScaleSize.width()/mCurrentSize.width();
//m_AnimTimeLine->setDirection(QTimeLine::Backward);
m_AnimTimeLine->start();
}
@@ -456,12 +481,10 @@
{
qreal scaleFactor = 1;
if(m_FinalAnimatedScaleFactor > 1) {
- // qreal scaleFactor = (100+ ((m_FinalAnimatedScaleFactor*100 - 100)/100)*frameNumber)/100;
- scaleFactor = 1.0 + (((m_FinalAnimatedScaleFactor - 1)/100)*frameNumber);
+ scaleFactor = (1.0 + (((m_FinalAnimatedScaleFactor - 1)/100)*frameNumber))/(mCurrentSize.width()/mMinDecScaleSize.width());
}
if(m_FinalAnimatedScaleFactor < 1) {
- scaleFactor = (m_FinalAnimatedScaleFactor*100+ ((100 - m_FinalAnimatedScaleFactor*100 )/100)*frameNumber)/100;
- // qreal scaleFactor = 1.0 + (((m_FinalAnimatedScaleFactor - 1)/100)*frameNumber)
+ scaleFactor = (m_FinalAnimatedScaleFactor+ (((1 - m_FinalAnimatedScaleFactor)/100)*frameNumber))/(mCurrentSize.width()/mMinDecScaleSize.width());
}
zoomImage(scaleFactor, m_AnimRefPoint);
@@ -480,3 +503,12 @@
}
}
+
+void GlxZoomWidget::timerEvent(QTimerEvent *event)
+{
+ if(mTimerId == event->timerId())
+ {
+ killTimer(mTimerId);
+ mTimerId = 0;
+ }
+}