Revision: 201037 default PDK_4.0.a
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 04 Oct 2010 00:05:38 +0300
changeset 4 6ea82847f1b7
parent 3 b2d662d68a49
Revision: 201037 Kit: 201039
calendarwidgetplugin/calendarwidgetplugin.pro
calendarwidgetplugin/inc/calendarwidget.h
calendarwidgetplugin/resource/calendarwidgetplugin.manifest
calendarwidgetplugin/resource/calendarwidgetplugin.png
calendarwidgetplugin/resource/qtg_graf_hswidget_preview_calendar.svg
calendarwidgetplugin/resource/qtg_large_calendar.png
calendarwidgetplugin/src/calendarwidget.cpp
calendarwidgetplugin/src/contentlayouthandler.cpp
calendarwidgetplugin/tsrc/matti_testcases/Calendar_widget_tests.rb
calendarwidgetplugin/tsrc/matti_testcases/config/test_execution_profile.sip
rom/calendarwidget.iby
sis/calendarwidget_stub.pkg
--- a/calendarwidgetplugin/calendarwidgetplugin.pro	Fri Sep 17 08:27:22 2010 +0300
+++ b/calendarwidgetplugin/calendarwidgetplugin.pro	Mon Oct 04 00:05:38 2010 +0300
@@ -70,7 +70,7 @@
     qtplugins.path = $$PLUGIN_SUBDIR
     qtplugins.sources += qmakepluginstubs/$${TARGET}.qtplugin
     qtplugins.sources += resource/$${TARGET}.manifest
-    qtplugins.sources += resource/qtg_large_calendar.png
+    qtplugins.sources += resource/qtg_graf_hswidget_preview_calendar.svg
      
     for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin z:$$qtplugins.path/$$basename(qtplugin)"
     BLD_INF_RULES.prj_exports += "./resource/$${TARGET}.s60xml z:$$PLUGIN_SUBDIR/$${TARGET}.xml"
@@ -82,6 +82,5 @@
 win32 {
     # add platfrom API for windows
     TRANSLATIONS = loc/calendarwidget_en.ts 
-    INCLUDEPATH += ../../../../homescreensrv/homescreensrv_plat/hswidgetmodel_api
     PLUGIN_SUBDIR = /hsresources/import/widgetregistry/2002C35A
 }
--- a/calendarwidgetplugin/inc/calendarwidget.h	Fri Sep 17 08:27:22 2010 +0300
+++ b/calendarwidgetplugin/inc/calendarwidget.h	Mon Oct 04 00:05:38 2010 +0300
@@ -212,6 +212,7 @@
     Q_DISABLE_COPY(CalendarWidget)
     QTranslator* mCommonTranslator;
     bool mWidgetLoaded;
+    bool mIsTapAndHold;
     
     //For documentation purpose
     ContentLayoutHandler* mContent;
--- a/calendarwidgetplugin/resource/calendarwidgetplugin.manifest	Fri Sep 17 08:27:22 2010 +0300
+++ b/calendarwidgetplugin/resource/calendarwidgetplugin.manifest	Mon Oct 04 00:05:38 2010 +0300
@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <hswidgetmanifest>
     <uri>calendarwidgetplugin</uri>
-    <title>CalendarWidget</title>
-    <description>Shows calendar events.</description>
-    <icon>qtg_large_calendar.png</icon>
-    <previewimage>calendarwidgetpreview.png</previewimage>
+    <title>txt_long_caption_calendar_widget</title>
+    <description>txt_calendar_widget_v_dblist_applib</description>
+    <icon>qtg_large_calendar</icon>
+    <previewimage>qtg_graf_hswidget_preview_calendar.svg</previewimage>
     <hidden>false</hidden>
     <servicexml>calendarwidgetplugin.xml</servicexml>
+    <translationfile>calwidget</translationfile>
 </hswidgetmanifest>
Binary file calendarwidgetplugin/resource/calendarwidgetplugin.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarwidgetplugin/resource/qtg_graf_hswidget_preview_calendar.svg	Mon Oct 04 00:05:38 2010 +0300
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="320px" height="210px" viewBox="0 0 320 210">
+<g>
+<path fill="#F2F2F2" d="M25.725,150.064c-4.604,0-8.349-3.746-8.349-8.35V86.57c0-4.604,3.746-8.349,8.349-8.349h270.253   c4.604,0,8.35,3.746,8.35,8.349v55.145c0,4.604-3.746,8.35-8.35,8.35H25.725z"/>
+<path fill="#E6E6E6" d="M25.725,149.543c-4.315,0-7.827-3.512-7.827-7.828V86.57c0-4.317,3.512-7.827,7.827-7.827h270.253   c4.315,0,7.828,3.51,7.828,7.827v55.145c0,4.316-3.513,7.828-7.828,7.828H25.725z"/>
+<path fill="#CCCCCC" d="M25.725,149.021c-4.028,0-7.306-3.28-7.306-7.306V86.57c0-4.027,3.277-7.306,7.306-7.306h270.253   c4.028,0,7.306,3.278,7.306,7.306v55.145c0,4.025-3.277,7.306-7.306,7.306H25.725z"/>
+<path fill="#B3B3B3" d="M25.725,148.499c-3.74,0-6.784-3.043-6.784-6.784V86.57c0-3.74,3.043-6.784,6.784-6.784h270.253   c3.741,0,6.784,3.043,6.784,6.784v55.145c0,3.741-3.043,6.784-6.784,6.784H25.725z"/>
+<path fill="#999999" d="M295.952,79.57H25.698c-3.444,0-6.262,2.817-6.262,6.262v55.146c0,3.442,2.818,6.262,6.262,6.262h270.254   c3.443,0,6.263-2.819,6.263-6.262V85.832C302.215,82.388,299.396,79.57,295.952,79.57z"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="223.8857" y1="-291.9502" x2="223.8857" y2="-258.9612" gradientTransform="matrix(1 0 0 -1 -63.0601 -144.4414)">
+<stop offset="0" style="stop-color:#E6E6E6"/>
+<stop offset="1" style="stop-color:#FFFFFF"/>
+</linearGradient>
+<path fill="url(#SVGID_1_)" d="M302.215,140.959c0,3.445-2.819,6.262-6.263,6.262H25.698c-3.444,0-6.262-2.816-6.262-6.262V85.814   c0-3.444,2.818-6.262,6.262-6.262h270.254c3.443,0,6.263,2.818,6.263,6.262V140.959z"/>
+<path fill="#CCCCCC" d="M295.952,80.074c3.165,0,5.74,2.575,5.74,5.74v55.145c0,3.165-2.575,5.74-5.74,5.74H25.698   c-3.166,0-5.74-2.575-5.74-5.74V85.814c0-3.166,2.575-5.74,5.74-5.74H295.952 M295.952,79.552H25.698   c-3.444,0-6.262,2.818-6.262,6.262v55.145c0,3.445,2.818,6.262,6.262,6.262h270.254c3.443,0,6.263-2.816,6.263-6.262V85.814   C302.215,82.37,299.396,79.552,295.952,79.552L295.952,79.552z"/>
+<line fill="none" stroke="#D9D9D9" x1="96.213" y1="79.719" x2="96.213" y2="147.221"/>
+<line fill="none" stroke="#FFFFFF" x1="97.287" y1="79.719" x2="97.287" y2="147.221"/>
+<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="29.5332" y1="3351.7764" x2="29.5332" y2="3402.5461" gradientTransform="matrix(1 0 0 1 27.9199 -3285.4883)">
+<stop offset="0" style="stop-color:#DDE3E6"/>
+<stop offset="0.24" style="stop-color:#C9CED1"/>
+<stop offset="0.96" style="stop-color:#899396"/>
+<stop offset="1" style="stop-color:#899396"/>
+</linearGradient>
+<path fill="url(#SVGID_2_)" d="M85.731,115.802c0,0.868-0.708,1.567-1.573,1.567H30.745c-0.867,0-1.57-0.699-1.57-1.567V67.867   c0-0.869,0.703-1.578,1.57-1.578h53.413c0.866,0,1.573,0.709,1.573,1.578V115.802z"/>
+<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="29.5332" y1="3351.5078" x2="29.5332" y2="3402.9072" gradientTransform="matrix(1 0 0 1 27.9199 -3285.4883)">
+<stop offset="0" style="stop-color:#ECF3F5"/>
+<stop offset="0.25" style="stop-color:#ECF3F5"/>
+<stop offset="0.86" style="stop-color:#7E878A"/>
+<stop offset="1" style="stop-color:#B0B8BB"/>
+</linearGradient>
+<path fill="url(#SVGID_3_)" d="M84.158,67.083c0.429,0,0.776,0.353,0.776,0.785v47.934c0,0.43-0.344,0.776-0.776,0.776H30.745   c-0.429,0-0.775-0.347-0.775-0.776V67.868c0-0.433,0.346-0.786,0.775-0.786L84.158,67.083 M84.158,66.29H30.745   c-0.867,0-1.57,0.709-1.57,1.578v47.934c0,0.868,0.703,1.567,1.57,1.567h53.413c0.866,0,1.573-0.699,1.573-1.567V67.868   C85.731,66.999,85.024,66.29,84.158,66.29L84.158,66.29z"/>
+<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="29.4927" y1="3354.6846" x2="29.4927" y2="3399.9121" gradientTransform="matrix(1 0 0 1 27.9199 -3285.4883)">
+<stop offset="0" style="stop-color:#707173"/>
+<stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<rect x="31.773" y="68.92" fill-opacity="0.4" stroke-opacity="0.4" fill="url(#SVGID_4_)" width="51.28" height="45.738"/>
+<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="40.4878" y1="3400.4443" x2="43.5954" y2="3405.4248" gradientTransform="matrix(1 0 0 1 27.9199 -3285.4883)">
+<stop offset="0" style="stop-color:#737373"/>
+<stop offset="1" style="stop-color:#DEDEDE"/>
+</linearGradient>
+<rect x="33.263" y="81.41" fill="url(#SVGID_5_)" width="48.346" height="31.923"/>
+<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="33.1377" y1="3394.5742" x2="24.0239" y2="3364.7903" gradientTransform="matrix(1 0 0 1 27.9199 -3285.4883)">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#CCCCCC"/>
+</linearGradient>
+<path fill="url(#SVGID_6_)" d="M72.229,111.089c-3.829,1.003-14.838,2.183-14.838,2.183h-24.11V81.346h48.344   c0,0-0.018,22.207-0.69,24.923C80.34,108.669,77.748,109.642,72.229,111.089z"/>
+<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="29.5332" y1="3355.8174" x2="29.5332" y2="3366.6287" gradientTransform="matrix(1 0 0 1 27.9199 -3285.4883)">
+<stop offset="0" style="stop-color:#FF7042"/>
+<stop offset="1" style="stop-color:#991B23"/>
+</linearGradient>
+<rect x="33.281" y="70.394" fill="url(#SVGID_7_)" width="48.344" height="10.952"/>
+<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="41.5493" y1="3393.5225" x2="44.0529" y2="3398.2188" gradientTransform="matrix(1 0 0 1 27.9199 -3285.4883)">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<path fill-opacity="0.42" stroke-opacity="0.42" fill="url(#SVGID_8_)" d="M71.636,111.7c-3.52,0.677-8.354,1.323-14.972,1.389   l24.758-11.706c0,0,0.022,2.545-0.488,4.888C80.935,106.269,80.523,109.972,71.636,111.7z"/>
+<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="42.0239" y1="3398.5244" x2="40.506" y2="3395.1772" gradientTransform="matrix(1 0 0 1 27.9199 -3285.4883)">
+<stop offset="0" style="stop-color:#9C9C9C"/>
+<stop offset="1" style="stop-color:#FFFFFF"/>
+</linearGradient>
+<path fill="url(#SVGID_9_)" d="M55.984,113.264c0,0,14.415-0.126,19.773-7.471c0,0,3.839,4.728,5.18,0.476   C80.364,109.189,75.223,113.37,55.984,113.264z"/>
+<path fill="#FFFFFF" d="M75.871,106.572c0,0,2.866,3.008,4.493,1.002c0.306-0.454,0.488-0.904,0.57-1.327   c-1.34,4.246-5.177-0.488-5.177-0.488c-5.362,7.348-19.776,7.471-19.776,7.471C62.667,113.229,72.541,111.144,75.871,106.572z"/>
+<polygon fill="#FFE6E6" points="81.625,70.709 33.281,70.709 33.281,70.087 81.625,70.087  "/>
+<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="41.7539" y1="3360.8916" x2="48.2016" y2="3360.8916" gradientTransform="matrix(1 0 0 1 27.9199 -3285.4883)">
+<stop offset="0" style="stop-color:#FB6C41"/>
+<stop offset="0.5" style="stop-color:#FFB69E"/>
+<stop offset="1" style="stop-color:#FB6C41"/>
+</linearGradient>
+<path fill="url(#SVGID_10_)" d="M76.014,75.4c0,1.661-1.433,3.007-3.19,3.007c-1.764,0-3.196-1.346-3.196-3.007   c0-1.659,1.433-2.999,3.196-2.999C74.581,72.401,76.014,73.742,76.014,75.4z"/>
+<linearGradient id="SVGID_11_" gradientUnits="userSpaceOnUse" x1="11.3462" y1="3360.8906" x2="17.7953" y2="3360.8906" gradientTransform="matrix(1 0 0 1 27.9199 -3285.4883)">
+<stop offset="0" style="stop-color:#FB6C41"/>
+<stop offset="0.5" style="stop-color:#FFB69E"/>
+<stop offset="1" style="stop-color:#FB6C41"/>
+</linearGradient>
+<ellipse fill="url(#SVGID_11_)" cx="42.401" cy="75.404" rx="3.195" ry="3.004"/>
+<linearGradient id="SVGID_12_" gradientUnits="userSpaceOnUse" x1="44.9009" y1="3357.7256" x2="44.9009" y2="3363.0977" gradientTransform="matrix(1 0 0 1 27.9199 -3285.4883)">
+<stop offset="0" style="stop-color:#4A050A"/>
+<stop offset="1" style="stop-color:#B00F25"/>
+</linearGradient>
+<path fill="url(#SVGID_12_)" d="M76.014,74.633c0,1.765-1.433,3.193-3.19,3.193c-1.764,0-3.196-1.429-3.196-3.193   c0-1.762,1.433-3.195,3.196-3.195C74.581,71.439,76.014,72.872,76.014,74.633z"/>
+<rect x="39.26" y="66.29" fill-opacity="0.4" stroke-opacity="0.4" fill="#231F20" width="6.296" height="7.973"/>
+<rect x="69.639" y="66.29" fill-opacity="0.4" stroke-opacity="0.4" fill="#231F20" width="6.296" height="7.973"/>
+<linearGradient id="SVGID_13_" gradientUnits="userSpaceOnUse" x1="42.6387" y1="3355.4463" x2="47.1651" y2="3355.4463" gradientTransform="matrix(1 0 0 1 27.9199 -3285.4883)">
+<stop offset="0" style="stop-color:#B6B4B5"/>
+<stop offset="0.12" style="stop-color:#FFFCFE"/>
+<stop offset="0.68" style="stop-color:#595959"/>
+<stop offset="0.95" style="stop-color:#D4D3D3"/>
+<stop offset="1" style="stop-color:#D4D3D3"/>
+</linearGradient>
+<path fill="url(#SVGID_13_)" d="M72.824,63.232c-1.261,0-2.281,1.019-2.281,2.281v8.893c0,1.261,1.02,2.278,2.281,2.278   c1.255,0,2.279-1.018,2.279-2.278v-8.893C75.103,64.251,74.079,63.232,72.824,63.232z"/>
+<linearGradient id="SVGID_14_" gradientUnits="userSpaceOnUse" x1="14.4819" y1="3357.7256" x2="14.4819" y2="3363.0977" gradientTransform="matrix(1 0 0 1 27.9199 -3285.4883)">
+<stop offset="0" style="stop-color:#4A050A"/>
+<stop offset="1" style="stop-color:#B00F25"/>
+</linearGradient>
+<path fill="url(#SVGID_14_)" d="M45.596,74.633c0,1.765-1.431,3.193-3.195,3.193s-3.193-1.429-3.193-3.193   c0-1.762,1.43-3.195,3.193-3.195S45.596,72.872,45.596,74.633z"/>
+<linearGradient id="SVGID_15_" gradientUnits="userSpaceOnUse" x1="12.2144" y1="3355.4463" x2="16.7453" y2="3355.4463" gradientTransform="matrix(1 0 0 1 27.9199 -3285.4883)">
+<stop offset="0" style="stop-color:#B6B4B5"/>
+<stop offset="0.12" style="stop-color:#FFFCFE"/>
+<stop offset="0.68" style="stop-color:#595959"/>
+<stop offset="0.95" style="stop-color:#D4D3D3"/>
+<stop offset="1" style="stop-color:#D4D3D3"/>
+</linearGradient>
+<path fill="url(#SVGID_15_)" d="M42.401,63.232c-1.262,0-2.28,1.019-2.28,2.281v8.893c0,1.261,1.019,2.278,2.28,2.278   c1.26,0,2.284-1.018,2.284-2.278v-8.893C44.684,64.251,43.661,63.232,42.401,63.232z"/>
+<polygon fill="#701619" points="81.625,81.652 33.281,81.652 33.281,81.031 81.625,81.031  "/>
+<linearGradient id="SVGID_16_" gradientUnits="userSpaceOnUse" x1="50.9746" y1="3395.1738" x2="53.1152" y2="3395.1738" gradientTransform="matrix(1 0 0 1 27.9199 -3285.4883)">
+<stop offset="0" style="stop-color:#D2D3D4"/>
+<stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<path fill-opacity="0.35" stroke-opacity="0.35" fill="url(#SVGID_16_)" d="M78.931,108.054c-3.343,2.69-11.36,4.283-16.431,5.051   c13.92-0.797,17.954-4.249,18.437-6.836C80.34,108.056,79.629,108.031,78.931,108.054z"/>
+<rect x="23.704" y="56.028" fill="none" width="67.498" height="67.499"/>
+<g>
+<g>
+<path d="M111.795,106.252v1.337h-7.68v-1.337h2.909V95.401l-2.909,0.712v-1.338l3.844-1.243h1.058v12.721L111.795,106.252     L111.795,106.252z"/>
+<path d="M115.189,99.544c1.029,0,1.834-0.047,2.418-0.146c0.583-0.097,1.04-0.318,1.371-0.668     c0.331-0.35,0.496-0.883,0.496-1.599c0-1.498-0.78-2.246-2.339-2.246c-0.667,0-1.559,0.153-2.675,0.459v-1.413     c1.065-0.293,2.066-0.44,3.002-0.44c2.725,0,4.088,1.148,4.088,3.443c0,0.767-0.218,1.443-0.654,2.028     c-0.436,0.588-1.044,0.994-1.824,1.227c0.854,0.15,1.512,0.514,1.974,1.093c0.461,0.581,0.692,1.305,0.692,2.171     c0,2.855-1.572,4.283-4.714,4.283c-0.973,0-1.949-0.146-2.927-0.438v-1.413c1.266,0.306,2.248,0.457,2.946,0.457     c1.752,0,2.628-0.901,2.628-2.703c0-0.96-0.265-1.661-0.795-2.1c-0.53-0.44-1.759-0.66-3.685-0.66V99.544z"/>
+<path d="M125.666,100.62c-0.35,0-0.65-0.129-0.903-0.388s-0.378-0.566-0.378-0.921c0-0.351,0.125-0.648,0.374-0.894     c0.249-0.246,0.552-0.368,0.908-0.368c0.354,0,0.654,0.122,0.897,0.368c0.243,0.245,0.365,0.545,0.365,0.894     c0,0.354-0.124,0.662-0.37,0.921C126.312,100.491,126.014,100.62,125.666,100.62z M125.666,107.738     c-0.356,0-0.659-0.125-0.908-0.373c-0.25-0.248-0.374-0.551-0.374-0.907c0-0.355,0.125-0.659,0.374-0.906     c0.249-0.249,0.552-0.374,0.908-0.374c0.348,0,0.646,0.125,0.892,0.374c0.246,0.247,0.37,0.551,0.37,0.906     c0,0.356-0.124,0.659-0.37,0.907C126.312,107.613,126.014,107.738,125.666,107.738z"/>
+<path d="M133.25,93.494c1.347,0,2.363,0.514,3.05,1.543c0.686,1.027,1.029,2.831,1.029,5.405c0,2.825-0.346,4.747-1.039,5.767     c-0.692,1.021-1.718,1.529-3.077,1.529c-1.365,0-2.395-0.508-3.091-1.524c-0.695-1.016-1.042-2.94-1.042-5.771     c0-2.538,0.349-4.329,1.046-5.377C130.825,94.018,131.867,93.494,133.25,93.494z M133.213,106.4c0.704,0,1.228-0.373,1.572-1.125     c0.343-0.752,0.515-2.363,0.515-4.833c0-1.215-0.04-2.205-0.117-2.969c-0.078-0.764-0.268-1.396-0.57-1.895     c-0.303-0.499-0.769-0.748-1.398-0.748c-0.642,0-1.116,0.251-1.422,0.754c-0.306,0.5-0.495,1.132-0.571,1.89     c-0.075,0.758-0.111,1.747-0.111,2.97c0,2.469,0.171,4.079,0.515,4.831C131.966,106.025,132.496,106.4,133.213,106.4z"/>
+<path d="M143.54,93.494c1.348,0,2.363,0.514,3.05,1.543c0.685,1.027,1.029,2.831,1.029,5.405c0,2.825-0.347,4.747-1.038,5.767     c-0.692,1.021-1.718,1.529-3.078,1.529c-1.365,0-2.395-0.508-3.091-1.524c-0.695-1.016-1.042-2.94-1.042-5.771     c0-2.538,0.349-4.329,1.047-5.377C141.113,94.018,142.155,93.494,143.54,93.494z M143.502,106.4c0.704,0,1.228-0.373,1.572-1.125     c0.343-0.752,0.515-2.363,0.515-4.833c0-1.215-0.04-2.205-0.117-2.969c-0.078-0.764-0.268-1.396-0.57-1.895     c-0.303-0.499-0.769-0.748-1.398-0.748c-0.642,0-1.115,0.251-1.421,0.754c-0.306,0.5-0.496,1.132-0.571,1.89     s-0.112,1.747-0.112,2.97c0,2.469,0.171,4.079,0.515,4.831C142.255,106.025,142.786,106.4,143.502,106.4z"/>
+<path d="M158.58,100.771v1.897h-4.583v-1.897H158.58z"/>
+<path d="M173.06,106.252v1.337h-7.679v-1.337h2.909V95.401l-2.909,0.712v-1.338l3.846-1.243h1.058v12.721L173.06,106.252     L173.06,106.252z"/>
+<path d="M183.769,103.034v1.394h-1.44v3.161h-1.992v-3.161h-5.762v-1.319l5.921-9.578h1.833v9.503L183.769,103.034     L183.769,103.034z M176.352,103.034h3.984v-6.671L176.352,103.034z"/>
+<path d="M186.931,100.62c-0.35,0-0.65-0.129-0.903-0.388s-0.379-0.566-0.379-0.921c0-0.351,0.126-0.648,0.375-0.894     c0.249-0.246,0.552-0.368,0.907-0.368c0.354,0,0.654,0.122,0.897,0.368c0.244,0.245,0.364,0.545,0.364,0.894     c0,0.354-0.122,0.662-0.369,0.921C187.575,100.491,187.279,100.62,186.931,100.62z M186.931,107.738     c-0.355,0-0.658-0.125-0.907-0.373s-0.375-0.551-0.375-0.907c0-0.355,0.126-0.659,0.375-0.906     c0.249-0.249,0.552-0.374,0.907-0.374c0.349,0,0.646,0.125,0.893,0.374c0.247,0.247,0.369,0.551,0.369,0.906     c0,0.356-0.122,0.659-0.369,0.907C187.575,107.613,187.279,107.738,186.931,107.738z"/>
+<path d="M194.516,93.494c1.347,0,2.364,0.514,3.049,1.543c0.688,1.027,1.029,2.831,1.029,5.405c0,2.825-0.347,4.747-1.037,5.767     c-0.693,1.021-1.719,1.529-3.078,1.529c-1.365,0-2.396-0.508-3.092-1.524c-0.695-1.016-1.042-2.94-1.042-5.771     c0-2.538,0.349-4.329,1.048-5.377C192.091,94.018,193.131,93.494,194.516,93.494z M194.479,106.4     c0.705,0,1.229-0.373,1.571-1.125c0.343-0.752,0.514-2.363,0.514-4.833c0-1.215-0.038-2.205-0.116-2.969     c-0.077-0.764-0.268-1.396-0.57-1.895c-0.302-0.499-0.769-0.748-1.398-0.748c-0.643,0-1.116,0.251-1.421,0.754     c-0.306,0.5-0.497,1.132-0.57,1.89c-0.076,0.758-0.112,1.747-0.112,2.97c0,2.469,0.171,4.079,0.514,4.831     C193.231,106.025,193.761,106.4,194.479,106.4z"/>
+<path d="M204.805,93.494c1.348,0,2.362,0.514,3.05,1.543c0.686,1.027,1.029,2.831,1.029,5.405c0,2.825-0.347,4.747-1.04,5.767     c-0.69,1.021-1.718,1.529-3.075,1.529c-1.366,0-2.397-0.508-3.093-1.524c-0.695-1.016-1.041-2.94-1.041-5.771     c0-2.538,0.348-4.329,1.045-5.377C202.379,94.018,203.421,93.494,204.805,93.494z M204.769,106.4     c0.703,0,1.227-0.373,1.571-1.125c0.343-0.752,0.514-2.363,0.514-4.833c0-1.215-0.039-2.205-0.116-2.969s-0.27-1.396-0.571-1.895     c-0.304-0.499-0.767-0.748-1.397-0.748c-0.643,0-1.117,0.251-1.423,0.754c-0.306,0.5-0.496,1.132-0.571,1.89     c-0.072,0.758-0.109,1.747-0.109,2.97c0,2.469,0.171,4.079,0.515,4.831C203.521,106.025,204.051,106.4,204.769,106.4z"/>
+</g>
+<g>
+<path fill="#595959" d="M106.528,131.354l-3.778-13.946h2.104l2.918,11.608l3.059-11.608h1.824l-3.911,13.946H106.528z"/>
+<path fill="#595959" d="M120.942,129.688v1.357c-0.979,0.306-1.992,0.458-3.04,0.458c-1.521,0-2.659-0.458-3.414-1.375     s-1.132-2.328-1.132-4.238c0-1.676,0.366-3.024,1.095-4.044c0.729-1.021,1.771-1.529,3.124-1.529     c1.098,0,1.922,0.289,2.474,0.875c0.552,0.583,0.906,1.296,1.061,2.141c0.156,0.848,0.234,1.85,0.234,3.017h-5.874     c0,1.268,0.225,2.216,0.674,2.849c0.45,0.631,1.122,0.948,2.021,0.948C118.925,130.146,119.85,129.994,120.942,129.688z      M115.47,125.124h3.919c0-1.315-0.155-2.245-0.468-2.787c-0.312-0.543-0.761-0.813-1.348-0.813c-0.654,0-1.155,0.281-1.5,0.842     C115.727,122.926,115.525,123.845,115.47,125.124z"/>
+<path fill="#595959" d="M124.674,120.476l0.458,1.814c0.605-1.278,1.658-1.919,3.161-1.919c0.2,0,0.347,0.011,0.44,0.029v1.813     c-0.156-0.013-0.39-0.021-0.702-0.021c-0.854,0-1.481,0.206-1.879,0.614c-0.399,0.409-0.599,1.048-0.599,1.912v6.632h-1.992     v-10.878h1.114V120.476z"/>
+<path fill="#595959" d="M132.148,130.951l-2.975-10.476h2.048l2.375,9.018l2.479-9.018h1.796l-3.405,11.533     c-0.262,0.866-0.63,1.503-1.104,1.912c-0.474,0.409-1.092,0.613-1.852,0.613c-0.524,0-1.104-0.065-1.74-0.195v-1.374     c0.573,0.111,1.097,0.167,1.571,0.167c0.431,0,0.782-0.146,1.052-0.436c0.271-0.288,0.531-0.871,0.782-1.744L132.148,130.951     L132.148,130.951z"/>
+<path fill="#595959" d="M146.177,131.354h-1.992v-9.579h-1.244v-1.3h3.236V131.354z M145.186,116.66     c0.306,0,0.569,0.11,0.791,0.336c0.221,0.225,0.332,0.489,0.332,0.795c0,0.312-0.108,0.579-0.327,0.8     c-0.218,0.224-0.483,0.331-0.795,0.331c-0.318,0-0.586-0.107-0.805-0.331c-0.218-0.221-0.328-0.488-0.328-0.8     c0-0.318,0.109-0.586,0.328-0.804C144.599,116.768,144.868,116.66,145.186,116.66z"/>
+<path fill="#595959" d="M162.611,131.354h-1.992v-7.493c0-0.724-0.136-1.268-0.407-1.633c-0.271-0.364-0.677-0.544-1.22-0.544     c-0.698,0-1.237,0.273-1.613,0.822c-0.378,0.547-0.566,1.263-0.566,2.143v6.707h-1.993v-7.493c0-0.722-0.138-1.268-0.416-1.631     c-0.277-0.365-0.694-0.546-1.248-0.546c-0.687,0-1.217,0.277-1.59,0.831c-0.374,0.556-0.562,1.267-0.562,2.134v6.707h-1.993     v-10.879h1.114l0.402,1.608c0.667-1.178,1.683-1.768,3.049-1.768c0.723,0,1.323,0.137,1.8,0.413s0.828,0.687,1.052,1.236     c0.617-1.099,1.606-1.646,2.965-1.646c1.073,0,1.876,0.288,2.415,0.869c0.537,0.581,0.805,1.448,0.805,2.601L162.611,131.354     L162.611,131.354z"/>
+<path fill="#595959" d="M166.411,120.476l0.401,1.552c0.394-0.579,0.829-1.01,1.309-1.29c0.48-0.282,1.093-0.421,1.835-0.421     c1.201,0,2.108,0.456,2.712,1.362c0.605,0.906,0.907,2.269,0.907,4.082c0,1.797-0.414,3.197-1.239,4.199     c-0.826,1.005-2.017,1.506-3.568,1.506c-0.412,0-0.904-0.068-1.478-0.206v3.217h-1.993v-14.001H166.411L166.411,120.476z      M167.289,125.339v4.499c0.479,0.182,0.984,0.271,1.515,0.271c0.898,0,1.573-0.31,2.024-0.935     c0.452-0.623,0.678-1.792,0.678-3.507c0-1.327-0.167-2.324-0.504-2.987c-0.338-0.665-0.84-0.995-1.505-0.995     c-0.724,0-1.273,0.279-1.647,0.837C167.477,123.078,167.289,124.017,167.289,125.339z"/>
+<path fill="#595959" d="M179.756,131.503c-1.464,0-2.563-0.48-3.292-1.441c-0.73-0.96-1.095-2.4-1.095-4.322     c0-1.672,0.379-2.991,1.137-3.967c0.76-0.973,1.843-1.456,3.25-1.456c1.422,0,2.509,0.479,3.26,1.439s1.127,2.301,1.127,4.021     c0,1.771-0.351,3.168-1.053,4.193C182.389,130.991,181.278,131.503,179.756,131.503z M179.756,130.223     c0.768,0,1.345-0.349,1.735-1.043c0.391-0.695,0.584-1.859,0.584-3.495c0-1.152-0.197-2.121-0.596-2.903     c-0.401-0.783-0.974-1.175-1.722-1.175c-0.761,0-1.336,0.353-1.729,1.059c-0.392,0.705-0.59,1.713-0.59,3.021     c0,1.473,0.198,2.594,0.59,3.37C178.42,129.834,178.995,130.223,179.756,130.223z"/>
+<path fill="#595959" d="M187.512,120.476l0.456,1.814c0.605-1.278,1.659-1.919,3.162-1.919c0.199,0,0.346,0.011,0.439,0.029     v1.813c-0.154-0.013-0.389-0.021-0.701-0.021c-0.854,0-1.481,0.206-1.881,0.614c-0.399,0.409-0.598,1.048-0.598,1.912v6.632     h-1.993v-10.878h1.115V120.476z"/>
+<path fill="#595959" d="M196.014,131.503c-0.849,0-1.47-0.197-1.862-0.594c-0.393-0.396-0.588-1.026-0.588-1.893v-7.24h-1.43     v-0.748l2.907-2.966h0.514v2.414h2.647v1.3h-2.647v6.912c0,0.591,0.096,0.982,0.289,1.174c0.194,0.191,0.487,0.283,0.881,0.283     c0.403,0,0.954-0.09,1.646-0.271v1.291C197.534,131.391,196.749,131.503,196.014,131.503z"/>
+<path fill="#595959" d="M205.524,129.781c-0.673,1.149-1.721,1.722-3.144,1.722c-0.99,0-1.762-0.279-2.313-0.838     s-0.829-1.339-0.829-2.342c0-1.035,0.283-1.807,0.848-2.315c0.571-0.508,1.248-0.828,2.04-0.954     c0.793-0.129,1.758-0.193,2.892-0.193v-1.282c0-1.266-0.676-1.898-2.027-1.898c-0.78,0-1.73,0.164-2.854,0.498v-1.396     c1.13-0.312,2.202-0.466,3.219-0.466c1.196,0,2.105,0.286,2.726,0.864c0.62,0.577,0.932,1.425,0.932,2.547v7.624h-1.085     L205.524,129.781z M205.02,126.051h-1.111c-0.891,0-1.562,0.189-2.008,0.566c-0.445,0.376-0.669,0.938-0.669,1.687     c0,0.611,0.137,1.067,0.408,1.371c0.271,0.302,0.678,0.453,1.221,0.453c0.685,0,1.217-0.218,1.594-0.655     c0.377-0.436,0.565-1.027,0.565-1.776V126.051L205.02,126.051z"/>
+<path fill="#595959" d="M217.686,131.354h-1.994v-7.222c0-0.815-0.143-1.43-0.43-1.838c-0.284-0.409-0.718-0.612-1.288-0.612     c-0.722,0-1.282,0.273-1.682,0.821c-0.401,0.55-0.6,1.264-0.6,2.144v6.707h-1.991v-10.879h1.113l0.401,1.608     c0.692-1.179,1.747-1.768,3.161-1.768c1.104,0,1.933,0.289,2.482,0.87c0.551,0.58,0.828,1.447,0.828,2.6v7.568H217.686z"/>
+<path fill="#595959" d="M223.147,131.503c-0.85,0-1.469-0.197-1.862-0.594c-0.393-0.396-0.589-1.026-0.589-1.893v-7.24h-1.43     v-0.748l2.907-2.966h0.516v2.414h2.646v1.3h-2.646v6.912c0,0.591,0.096,0.982,0.289,1.174c0.194,0.191,0.487,0.283,0.879,0.283     c0.405,0,0.954-0.09,1.647-0.271v1.291C224.669,131.391,223.883,131.503,223.147,131.503z"/>
+<path fill="#595959" d="M245.155,131.354h-1.992v-7.493c0-0.724-0.135-1.268-0.407-1.633c-0.271-0.364-0.678-0.544-1.22-0.544     c-0.699,0-1.237,0.273-1.614,0.822c-0.377,0.547-0.566,1.263-0.566,2.143v6.707h-1.992v-7.493c0-0.722-0.139-1.268-0.415-1.631     c-0.277-0.365-0.693-0.546-1.248-0.546c-0.685,0-1.217,0.277-1.59,0.831c-0.371,0.556-0.561,1.267-0.561,2.134v6.707h-1.993     v-10.879h1.113l0.403,1.608c0.666-1.178,1.683-1.768,3.049-1.768c0.723,0,1.324,0.137,1.801,0.413     c0.478,0.276,0.828,0.687,1.053,1.236c0.617-1.099,1.605-1.646,2.965-1.646c1.072,0,1.879,0.288,2.415,0.869     c0.537,0.581,0.804,1.448,0.804,2.601v7.564h-0.004V131.354z"/>
+<path fill="#595959" d="M254.967,129.688v1.357c-0.979,0.306-1.991,0.458-3.039,0.458c-1.521,0-2.66-0.458-3.414-1.375     s-1.132-2.328-1.132-4.238c0-1.676,0.365-3.024,1.095-4.044c0.73-1.021,1.771-1.529,3.123-1.529c1.099,0,1.922,0.289,2.475,0.875     c0.553,0.583,0.905,1.296,1.063,2.141c0.154,0.848,0.235,1.85,0.235,3.017h-5.874c0,1.268,0.225,2.216,0.675,2.849     c0.449,0.631,1.123,0.948,2.02,0.948C252.951,130.146,253.877,129.994,254.967,129.688z M249.496,125.124h3.919     c0-1.315-0.156-2.245-0.468-2.787c-0.313-0.543-0.761-0.813-1.348-0.813c-0.654,0-1.152,0.281-1.5,0.842     S249.551,123.845,249.496,125.124z"/>
+<path fill="#595959" d="M264.714,129.688v1.357c-0.979,0.306-1.993,0.458-3.041,0.458c-1.521,0-2.659-0.458-3.414-1.375     c-0.754-0.917-1.131-2.328-1.131-4.238c0-1.676,0.366-3.024,1.095-4.044c0.729-1.021,1.771-1.529,3.124-1.529     c1.097,0,1.923,0.289,2.473,0.875c0.553,0.583,0.906,1.296,1.064,2.141c0.155,0.848,0.234,1.85,0.234,3.017h-5.875     c0,1.268,0.225,2.216,0.675,2.849c0.451,0.631,1.123,0.948,2.021,0.948C262.696,130.146,263.622,129.994,264.714,129.688z      M259.241,125.124h3.92c0-1.315-0.157-2.245-0.469-2.787c-0.312-0.543-0.761-0.813-1.346-0.813c-0.656,0-1.153,0.281-1.5,0.842     C259.498,122.926,259.299,123.845,259.241,125.124z"/>
+<path fill="#595959" d="M270.11,131.503c-0.849,0-1.468-0.197-1.861-0.594c-0.394-0.396-0.589-1.026-0.589-1.893v-7.24h-1.432     v-0.748l2.909-2.966h0.514v2.414h2.647v1.3h-2.647v6.912c0,0.591,0.098,0.982,0.29,1.174c0.195,0.191,0.486,0.283,0.88,0.283     c0.406,0,0.954-0.09,1.646-0.271v1.291C271.632,131.391,270.846,131.503,270.11,131.503z"/>
+<path fill="#595959" d="M276.264,131.354h-1.991v-9.579h-1.242v-1.3h3.237v10.879H276.264z M275.273,116.66     c0.306,0,0.568,0.11,0.791,0.336c0.221,0.225,0.332,0.489,0.332,0.795c0,0.312-0.11,0.579-0.328,0.8     c-0.219,0.224-0.483,0.331-0.795,0.331c-0.318,0-0.588-0.107-0.806-0.331c-0.219-0.221-0.326-0.488-0.326-0.8     c0-0.318,0.108-0.586,0.326-0.804C274.688,116.768,274.955,116.66,275.273,116.66z"/>
+<path fill="#595959" d="M287.088,131.354h-1.994v-7.222c0-0.815-0.143-1.43-0.43-1.838c-0.284-0.409-0.718-0.612-1.288-0.612     c-0.722,0-1.282,0.273-1.682,0.821c-0.401,0.55-0.6,1.264-0.6,2.144v6.707h-1.991v-10.879h1.113l0.401,1.608     c0.692-1.179,1.747-1.768,3.161-1.768c1.104,0,1.933,0.289,2.482,0.87c0.551,0.58,0.828,1.447,0.828,2.6v7.568H287.088z"/>
+<path fill="#595959" d="M296.038,121.794l0.421-1.318h1.112v10.363c0,1.172-0.365,2.081-1.089,2.726     c-0.728,0.646-1.723,0.97-2.988,0.97c-1.035,0-2.211-0.165-3.526-0.496v-1.403c1.37,0.33,2.469,0.496,3.292,0.496     c0.718,0,1.241-0.133,1.576-0.397c0.334-0.266,0.542-0.611,0.622-1.039c0.081-0.426,0.121-1.033,0.121-1.817v-0.282     c-0.529,0.761-1.378,1.141-2.545,1.141c-1.24,0-2.169-0.428-2.792-1.285c-0.621-0.855-0.931-2.145-0.931-3.856     c0-1.64,0.343-2.931,1.027-3.868c0.686-0.937,1.678-1.409,2.976-1.409C294.564,120.316,295.472,120.808,296.038,121.794z      M293.494,129.38c0.691,0,1.219-0.248,1.581-0.745c0.361-0.495,0.543-1.563,0.543-3.202c0-1.26-0.171-2.205-0.509-2.839     c-0.339-0.635-0.849-0.949-1.52-0.949c-0.718,0-1.265,0.272-1.642,0.813c-0.376,0.543-0.565,1.535-0.565,2.976     c0,1.317,0.175,2.303,0.529,2.96C292.261,129.051,292.789,129.38,293.494,129.38z"/>
+</g>
+<g>
+<g>
+<path d="M46.726,126.876v1.303h-1.086v11.785c0,0.852-0.232,1.513-0.695,1.985c-0.463,0.472-1.152,0.708-2.067,0.708      c-0.417,0-0.979-0.062-1.685-0.183v-1.312c0.596,0.105,1.021,0.157,1.276,0.157c0.452,0,0.782-0.114,0.991-0.345      c0.208-0.229,0.313-0.588,0.313-1.08v-11.719h-1.069v-1.301H46.726L46.726,126.876z"/>
+<path d="M53.57,138.366c-0.625,1.065-1.598,1.598-2.918,1.598c-0.92,0-1.637-0.259-2.149-0.776      c-0.513-0.52-0.77-1.243-0.77-2.177c0-0.96,0.263-1.677,0.791-2.15c0.527-0.473,1.158-0.767,1.893-0.887      c0.735-0.118,1.63-0.18,2.683-0.18v-1.19c0-1.175-0.628-1.763-1.885-1.763c-0.724,0-1.607,0.153-2.648,0.46v-1.294      c1.048-0.289,2.043-0.435,2.988-0.435c1.111,0,1.956,0.27,2.532,0.806c0.576,0.536,0.864,1.327,0.864,2.368v7.077h-1.007      L53.57,138.366z M53.1,134.901h-1.033c-0.828,0-1.45,0.175-1.863,0.525c-0.414,0.35-0.622,0.873-0.622,1.567      c0,0.568,0.126,0.992,0.378,1.272c0.251,0.281,0.63,0.422,1.133,0.422c0.636,0,1.13-0.202,1.481-0.608      c0.351-0.405,0.525-0.955,0.525-1.65V134.901z"/>
+<path d="M64.861,139.826H63.01v-6.706c0-0.759-0.132-1.325-0.399-1.707c-0.267-0.378-0.666-0.568-1.199-0.568      c-0.671,0-1.192,0.255-1.563,0.763c-0.371,0.509-0.556,1.173-0.556,1.989v6.227h-1.85v-10.102h1.034l0.373,1.495      c0.643-1.095,1.622-1.64,2.936-1.64c1.024,0,1.793,0.269,2.305,0.806c0.512,0.539,0.769,1.344,0.769,2.415V139.826z"/>
+</g>
+</g>
+<g>
+<path d="M56.101,107.645H45.277v-1.805h3.608V90.81l-3.608,0.802v-1.805l5.412-2.058h1.805v18.091h3.608L56.101,107.645     L56.101,107.645z"/>
+<path d="M62.595,94.843h0.562c1.799,0,3.18,0.531,4.142,1.59c0.962,1.061,1.443,2.581,1.443,4.558c0,2.253-0.53,3.942-1.59,5.07     c-1.06,1.127-2.645,1.689-4.756,1.689c-1.55,0-2.927-0.192-4.129-0.575v-1.965c1.327,0.401,2.552,0.602,3.675,0.602     c1.033,0,1.811-0.348,2.332-1.043c0.521-0.694,0.781-1.88,0.781-3.554c0-1.398-0.305-2.447-0.915-3.147     c-0.609-0.699-1.526-1.05-2.746-1.05c-0.812,0-1.617,0.051-2.418,0.148v-9.42h9.34v1.804h-5.718v5.292H62.595L62.595,94.843z"/>
+</g>
+</g>
+<path fill-opacity="0.6" stroke-opacity="0.6" d="M279.692,97.668c0.652-0.65,1.282-0.972,2.394-0.675l2.325-2.321   c1.686-1.689,4.214-2.034,6.252-1.05c0.712-0.509,1.71-0.451,2.346,0.189c0.638,0.641,0.697,1.635,0.192,2.348   c0.982,2.039,0.638,4.564-1.05,6.252l-2.324,2.324c0.297,1.117-0.021,1.738-0.675,2.395l-1.303,1.303l-2.711-2.711   c-1.063,0.469-2.377,0.202-3.313-0.73c-0.93-0.931-1.196-2.247-0.728-3.308l-2.709-2.713L279.692,97.668z"/>
+<linearGradient id="SVGID_17_" gradientUnits="userSpaceOnUse" x1="-4731.8066" y1="1311.5371" x2="-4729.7651" y2="1311.5371" gradientTransform="matrix(-0.7071 -0.7071 -0.7071 0.7071 -2125.7932 -4177.6152)">
+<stop offset="0" style="stop-color:#FFB533"/>
+<stop offset="0.24" style="stop-color:#FFE692"/>
+<stop offset="0.75" style="stop-color:#ED8C0D"/>
+<stop offset="1" style="stop-color:#FFB81F"/>
+</linearGradient>
+<path fill="url(#SVGID_17_)" d="M290.431,94.672l0.427-0.43c0.474-0.474,1.25-0.474,1.722,0c0.473,0.475,0.471,1.247,0,1.72   l-0.433,0.431L290.431,94.672z"/>
+<path fill-opacity="0.2" stroke-opacity="0.2" fill="#873900" d="M290.857,94.242c0.125-0.126,0.272-0.215,0.43-0.273   c0.303,0.199,0.593,0.436,0.86,0.703c0.27,0.268,0.503,0.559,0.706,0.864c-0.061,0.154-0.15,0.302-0.274,0.426l-0.432,0.431   l-1.717-1.721L290.857,94.242z"/>
+<linearGradient id="SVGID_18_" gradientUnits="userSpaceOnUse" x1="-4734.9648" y1="1316.7041" x2="-4726.8018" y2="1316.7041" gradientTransform="matrix(-0.7071 -0.7071 -0.7071 0.7071 -2125.7932 -4177.6152)">
+<stop offset="0" style="stop-color:#FFB533"/>
+<stop offset="0.24" style="stop-color:#FFE692"/>
+<stop offset="0.75" style="stop-color:#ED8C0D"/>
+<stop offset="1" style="stop-color:#FFB81F"/>
+</linearGradient>
+<path fill="url(#SVGID_18_)" d="M288.28,105.422l3.44-3.438c1.896-1.897,1.896-4.983,0-6.882c-1.897-1.896-4.983-1.896-6.882,0   l-3.438,3.441L288.28,105.422z"/>
+<path fill-opacity="0.4" stroke-opacity="0.4" fill="#FFFFFF" d="M291.721,95.102c1.896,1.895,1.896,4.983,0,6.882l-0.431,0.428   c1.895-1.896,1.895-4.981,0-6.879c-1.897-1.897-4.983-1.896-6.881,0l0.43-0.431C286.737,93.204,289.821,93.204,291.721,95.102z"/>
+<linearGradient id="SVGID_19_" gradientUnits="userSpaceOnUse" x1="-4736.0166" y1="1321.874" x2="-4725.8145" y2="1321.874" gradientTransform="matrix(-0.7071 -0.7071 -0.7071 0.7071 -2125.7932 -4177.6152)">
+<stop offset="0" style="stop-color:#FFB533"/>
+<stop offset="0.24" style="stop-color:#FFE692"/>
+<stop offset="0.75" style="stop-color:#ED8C0D"/>
+<stop offset="1" style="stop-color:#FFB81F"/>
+</linearGradient>
+<path fill="url(#SVGID_19_)" d="M282.259,97.683l6.88,6.879c0.416,1.166,0.115,1.604-0.415,2.139l-0.874,0.872l-8.599-8.6   l0.874-0.872C280.656,97.564,281.097,97.267,282.259,97.683z"/>
+<rect x="281.043" y="100.601" transform="matrix(-0.7073 -0.7069 0.7069 -0.7073 416.802 374.3882)" fill-opacity="0.2" stroke-opacity="0.2" fill="#873900" width="9.731" height="0.61"/>
+<rect x="277.69" y="102.749" transform="matrix(-0.7072 -0.707 0.707 -0.7072 411.6039 376.5563)" fill-opacity="0.1" stroke-opacity="0.1" fill="#753200" width="12.161" height="0.608"/>
+<linearGradient id="SVGID_20_" gradientUnits="userSpaceOnUse" x1="-4730.7529" y1="1325.2188" x2="-4730.7529" y2="1323.4556" gradientTransform="matrix(-0.7071 -0.7071 -0.7071 0.7071 -2125.7932 -4177.6152)">
+<stop offset="0" style="stop-color:#F56700"/>
+<stop offset="1" style="stop-color:#EF2D00"/>
+</linearGradient>
+<path fill="url(#SVGID_20_)" d="M285.243,104.968c-0.849,0.609-2.118,0.461-2.984-0.406c-0.864-0.866-1.015-2.136-0.403-2.983   L285.243,104.968z"/>
+<path fill-opacity="0.4" stroke-opacity="0.4" fill="#753200" d="M281.578,102.163c0.062-0.208,0.147-0.408,0.277-0.585   l3.388,3.39c-0.178,0.126-0.375,0.214-0.583,0.275L281.578,102.163z"/>
+<path fill-opacity="0.5" stroke-opacity="0.5" fill="#FFF6C9" d="M289.331,105.611l-8.122-8.12   c0.277-0.021,0.611,0.034,1.05,0.192l6.882,6.879C289.296,105.002,289.351,105.338,289.331,105.611z"/>
+<rect x="276.943" y="91.632" fill="none" width="18.245" height="18.244"/>
+</g>
+<rect fill="none" width="320" height="210"/>
+</svg>
Binary file calendarwidgetplugin/resource/qtg_large_calendar.png has changed
--- a/calendarwidgetplugin/src/calendarwidget.cpp	Fri Sep 17 08:27:22 2010 +0300
+++ b/calendarwidgetplugin/src/calendarwidget.cpp	Mon Oct 04 00:05:38 2010 +0300
@@ -64,10 +64,8 @@
 {
     LOGS("CalendarWidget::CalendarWidget");
     grabGesture(Qt::TapGesture);
-    grabGesture(Qt::PanGesture);
-    grabGesture(Qt::PinchGesture);
-    grabGesture(Qt::SwipeGesture);
     mWidgetLoaded = false;
+    mIsTapAndHold = false;
 }
 
 /*
@@ -238,16 +236,6 @@
         emit themeChanged();
     }
     
-    if (eventType == QEvent::Gesture) {
-        QGestureEvent* gesture = static_cast<QGestureEvent*>(event);
-        QList<QGesture*> gestureList = gesture->gestures();
-        for (int i = 0; i < gestureList.count(); i++) {
-            int type = gestureList.at(i)->gestureType();
-            qDebug() << "type = " << type;
-        }
-        gestureEvent(static_cast<QGestureEvent*>(event));
-        consumed = true;
-    }
 
     return consumed;
 }
@@ -335,53 +323,35 @@
         switch(tap->state()) {
             case Qt::GestureStarted:
                 emit mousePressed(posFromScene);
+                mIsTapAndHold = false;
                 LOGS("CalendarWidget::gestureEvent => gestureStarted");
                 break;
             case Qt::GestureUpdated:
                 LOGS("CalendarWidget::gestureEvent => gestureUpdated");
+                emit mouseReleased();
+                mIsTapAndHold = true;
                 break;
             case Qt::GestureFinished:
-                emit tapGesture(posFromScene);
+                LOGS("CalendarWidget::gestureEvent => gestureFinished");
+                if( !mIsTapAndHold ) {
+                    /*workaround for calendar launch: calendar should launched only in case of tap
+                     *this seems to be a bug in the framework as the tap
+                     *gesture should be canceled and not finished when a tap and hold gesture is started   
+                     */
+                    emit tapGesture(posFromScene);   
+                }
+                //highlight should be turned off
                 emit mouseReleased();
-                LOGS("CalendarWidget::gestureEvent => gestureFinished");
                 break;
             case Qt::GestureCanceled:
                 LOGS("CalendarWidget::gestureEvent => gestureCanceled");
+                emit mouseReleased();
                 break;
             default:
                 break;
         }
     }
     
-    if(QPanGesture *pan = (QPanGesture*)event->gesture(Qt::PanGesture)) {
-        switch (pan->state()) {
-            case Qt::GestureFinished:
-                emit mouseReleased();
-                break;
-            default:
-                break;
-        }
-    }
-        
-    if (QSwipeGesture *swipe = (QSwipeGesture*)event->gesture(Qt::SwipeGesture)) {
-        switch (swipe->state()) {
-            case Qt::GestureFinished:
-                emit mouseReleased();
-                break;
-            default:
-                break;
-        }
-    }
-
-    if (QPinchGesture *pinch = (QPinchGesture*)event->gesture(Qt::PinchGesture)) {
-        switch (pinch->state()) {
-            case Qt::GestureFinished:
-                emit mouseReleased();
-                break;
-            default:
-                break;
-        }
-    }
 }
 
 /*
--- a/calendarwidgetplugin/src/contentlayouthandler.cpp	Fri Sep 17 08:27:22 2010 +0300
+++ b/calendarwidgetplugin/src/contentlayouthandler.cpp	Mon Oct 04 00:05:38 2010 +0300
@@ -115,7 +115,8 @@
           mAgendaUtil(0),
           mCalendarKeyManager(0),
           mDateHighlightActive(0),
-          mContentHighlightActive(0)
+          mContentHighlightActive(0),
+          mDateObserver(0)
 {
     LOGS("ContentLayoutHandler::ContentLayoutHandler");
 
@@ -139,7 +140,9 @@
         KCalPubSubCategory.iUid, key);
     mCalendarKeyManager->stopMonitoring(calendarKey);
     delete mCalendarKeyManager;
-    delete mDateObserver;
+    if( mDateObserver ) {
+        delete mDateObserver;   
+    }
 }
 
 /*
--- a/calendarwidgetplugin/tsrc/matti_testcases/Calendar_widget_tests.rb	Fri Sep 17 08:27:22 2010 +0300
+++ b/calendarwidgetplugin/tsrc/matti_testcases/Calendar_widget_tests.rb	Mon Oct 04 00:05:38 2010 +0300
@@ -17,13 +17,16 @@
 
 # require needed Ruby, MATTI and Orbit files
 require 'test/unit'
+require 'gruff'
 require 'tdriver'
 require 'date'
+#require "rexml/document"
 #require 'parsedate'
 #require 'OrbitBehaviours'
 include MobyBase 
 include MobyUtil
 include MattiVerify 
+#include REXML
 @@z_index = ""
 
 
@@ -96,6 +99,7 @@
 		app_name = (app_name == 'tsapplication') ? 'hsapplication' : app_name
 		if @sut.application(:name => app_name).test_object_exists?("HbIconItem", {:iconName => 'qtg_mono_applications_all', :__timeout => 2})
 			navigate_to_first_homescreen
+			remove_calendar_widgets_from_homescreen(0)
 			delete_calendar_events_via_UI
 		else
 			app = @sut.application.executable_name
@@ -123,8 +127,17 @@
 			app_name = app.split(".exe")[0].to_s
 			app_name = (app_name == 'tsapplication') ? 'hsapplication' : app_name
 			navigate_to_first_homescreen
+			remove_calendar_widgets_from_homescreen(0)
 			delete_calendar_events_via_UI
 		end
+		#check do we have network time in use. If not, set it on
+		#clock_app = @sut.run(:name => "clock.exe")
+	        #clock_app.HbMarqueeItem(:text => 'Clock').tap
+        	#clock_app.HbTextItem( :text => 'Settings' ).tap
+        	#if clock_app.HbCheckBox( :name => 'networkTime' ).test_object_exists?("HbIconItem",{:iconName => 'qtg_small_unselected'}) then
+        	#	clock_app.HbCheckBox( :name => 'networkTime' ).tap
+        	#end
+        	#clock_app.close
 	rescue Exception => ex
 		puts "TEARDOWN FAILED. ERROR:"
 		puts ex.message
@@ -140,6 +153,7 @@
 				app_name = @sut.application.executable_name.split(".exe")[0].to_s
 				puts "Application on the screen is " + app_name
 				navigate_to_first_homescreen
+				remove_calendar_widgets_from_homescreen(0)
 				delete_calendar_events_via_UI
 			end
 		rescue Exception => e
@@ -175,9 +189,47 @@
 	element_set = xml.xpath( xpath = identificator.get_xpath_to_identify( xml ) ) 
 	item_count = element_set.size
 	#puts "item_count = ",item_count
-	item_index = 4
-	#lets check if calendar widget is visible on display. If not, we flick until we get it visible
-	while item_index < item_count
+	item_index = 6
+	widget_row_array = Array.new
+	widget_y_pos_array = Array.new
+	i = 0
+	index = 0
+	widget_row_string = String.new(element_set.to_s)
+    while not(app.test_object_exists?("HbTextItem",{:text => 'CalendarWidget',:visibleOnScreen => 'true'}) )
+		while index != nil
+			index = widget_row_string.index('row')
+			if index == nil
+				break
+			end
+			row_length = widget_row_string.index('<', index.to_i+19)-(index.to_i+19)
+			#puts "row_length = " +row_length.to_s
+			widget_row = widget_row_string[index.to_i+19..index.to_i+19+row_length.to_i-1]
+			#puts "widget_row: " + widget_row.to_s
+			#find scenepos
+			index = widget_row_string.index('scenePos', index+19)
+			y_pos_length = widget_row_string.index('<', index.to_i+26)-(index.to_i+26)
+			widget_y_pos = widget_row_string[index.to_i+26..index.to_i+26+y_pos_length-1]
+			#puts "widget_y_pos: " + widget_y_pos.to_s
+			if widget_y_pos.to_i > 0 && widget_y_pos.to_i < 530 then
+				widget_row_array[i]=widget_row
+				#puts "widget_row_array[i] = " + widget_row.to_s
+				widget_y_pos_array[i]=widget_y_pos
+				#puts "widget_y_pos_array[i] = " + widget_y_pos.to_s
+				i = i +1
+			end
+			widget_row_string = widget_row_string[index.to_i+26+y_pos_length..widget_row_string.length]
+		end
+		#find the lowest y_pos item
+		lowest_y_pos = widget_y_pos_array[0].to_i
+		lowest_value = 0
+		for k in 0..i-1
+			if lowest_y_pos.to_i < widget_y_pos_array[k+1].to_i
+				lowest_y_pos = widget_y_pos_array[k+1].to_i
+				lowest_value = k+1
+			end
+		end
+		#puts "lowest_y_pos = " + lowest_y_pos.to_s
+		app.HsListViewItem(:row => widget_row_array[lowest_value].to_s).gesture(:Up,1,500,{:Left,true})
 		if app.test_object_exists?("HbTextItem",{:text => 'CalendarWidget',:visibleOnScreen => 'true'}) then
 			if browse_to_list == 'longpressHS' then
 				app.HbTextItem(:text => 'CalendarWidget').tap
@@ -187,20 +239,14 @@
 				app.HbIconItem(:iconName => 'qtg_mono_back').tap
 			end
 			break
-		else
-			app.HsListViewItem(:__index => item_index-1).gesture(:Up,1,550,{:Left,true})
 		end
-		item_index +=2
-		if item_index >= item_count then
-			identificator = TestObjectIdentificator.new(:type => :HsListViewItem) 
-			xml =  app.HbListView(:__index => 0).xml_data 
-			element_set = xml.xpath( xpath = identificator.get_xpath_to_identify( xml ) ) 
-			item_count = element_set.size
-			#puts "item_count = ",item_count
-			item_index = 4
-		end
+		identificator = TestObjectIdentificator.new(:type => :HsListViewItem) 
+		xml =  app.HbListView(:__index => 0).xml_data 
+		element_set = xml.xpath( xpath = identificator.get_xpath_to_identify( xml ) )
+		i = 0
+		widget_row_string = String.new(element_set.to_s)
+		index = widget_row_string.index('row')		
 	end
-
 	#if browse_to_list != 'longpressHS' then
 	#	app.HbIconItem(:iconName => 'qtg_mono_back').tap
 	#end
@@ -303,58 +349,58 @@
 	#
 	########################################################################################################################################
 	
-  def calculate_date(day, month, year, hour, minute)
+  def calculate_date(temp_day, temp_month, temp_year, temp_hour, temp_minute)
 	#let's check the minute
-	if(minute >=60) then
-		minute = minute - 60
-		hour= hour +1
+	if(temp_minute >=60) then
+		temp_minute = temp_minute - 60
+		temp_hour= temp_hour +1
 	end
-	if(hour >=24) then
-		hour = hour - 24
-		day = day +1
+	if(temp_hour >=24) then
+		temp_hour = temp_hour - 24
+		temp_day = temp_day +1
 	end
-	if(day > 31) then
-		if(month == 1)||(month == 3)||(month == 5)||(month == 7)||(month == 8)||(month == 10)||(month == 12) then
-			month = month +1
-			day = day - 31
-		elsif(month == 4)||(month == 6)||(month == 9)||(month == 11) then
-			month = month +1
-			day = day - 30
-		elsif(month == 2) then
-			if ( year % 100 != 0 && year % 4 == 0 || year % 400 == 0 ) then
-				month = month +1
-				day = day -29
+	if(temp_day > 31) then
+		if(temp_month == 1)||(temp_month == 3)||(temp_month == 5)||(temp_month == 7)||(temp_month == 8)||(temp_month == 10)||(temp_month == 12) then
+			temp_month = temp_month +1
+			temp_day = temp_day - 31
+		elsif(temp_month == 4)||(temp_month == 6)||(temp_month == 9)||(temp_month == 11) then
+			temp_month = temp_month +1
+			temp_day = temp_day - 30
+		elsif(temp_month == 2) then
+			if ( temp_year % 100 != 0 && temp_year % 4 == 0 || temp_year % 400 == 0 ) then
+				temp_month = temp_month +1
+				temp_day = temp_day -29
 			else
-				month = month +1
-				day = day - 28
+				temp_month = temp_month +1
+				temp_day = temp_day - 28
 			end
 		end
 	end
-	if(month > 12) then
-		month = month - 12
-		year = year +1
+	if(temp_month > 12) then
+		temp_month = temp_month - 12
+		temp_year = temp_year +1
 	end
-	if(day <10) then
-		returnday = '0'+day.to_s
+	if(temp_day <10) then
+		returnday = '0'+temp_day.to_s
 	else
-		returnday = day.to_s
+		returnday = temp_day.to_s
 	end
-	if(month < 10) then
-		returnmonth = '0' + month.to_s
+	if(temp_month < 10) then
+		returnmonth = '0' + temp_month.to_s
 	else
-		returnmonth = month.to_s
+		returnmonth = temp_month.to_s
 	end
-	if(minute < 10) then
-		returnminute = '0'+minute.to_s
+	if(temp_minute < 10) then
+		returnminute = '0'+temp_minute.to_s
 	else
-		returnminute = minute.to_s
+		returnminute = temp_minute.to_s
 	end
-	if(hour < 10) then
-		returnhour = '0'+hour.to_s
+	if(temp_hour < 10) then
+		returnhour = '0'+temp_hour.to_s
 	else
-		returnhour = hour.to_s
+		returnhour = temp_hour.to_s
 	end
-	return returnday,'-',returnmonth,'-',year.to_s,' ',returnhour,':',returnminute,':00'
+	return returnday,'-',returnmonth,'-',temp_year.to_s,' ',returnhour,':',returnminute,':00'
   end
   
     ########################################################################################################################################
@@ -466,6 +512,54 @@
   
     ########################################################################################################################################
 	#
+	#	remove_calendar_widgets_from_homescreen
+	#
+	#	description:
+	#		This function removes all calendar widgets from homescreen
+	#
+	#	preconditions: 
+	#		-Phone is in homescreen and there is calendar widget in HS
+	#	parameters:
+	#		hs_pagenumber:	Number of the homescreen page (0, 1 or 2)
+	#
+	#	created: Jarno Mäkelä
+	#	creation date: 01-Sep-2010
+	#
+	########################################################################################################################################
+	
+  def remove_calendar_widgets_from_homescreen(hs_pagenumber)
+    #Lets check all widgets in first page
+    app = @sut.application(:name => 'hsapplication')
+    identificator = TestObjectIdentificator.new(:type => :HsWidgetHostVisual)
+	xml =  app.HsPageVisual(:__index => hs_pagenumber).xml_data
+	element_set = xml.xpath( xpath = identificator.get_xpath_to_identify( xml ) ) 
+	widget_string = String.new(element_set.to_s)
+	#lets find all the calendarwidgetplugin-named calendar widgets
+	cal_widget_array = Array.new
+	i = 0
+	index = 0
+	while index != nil do
+        #search first occurence of calendar widget plugin
+        index = widget_string.index('calendarwidgetplugin')
+        if index != nil then
+            #save the name of calendar widget to array
+            cal_widget_array[i]=widget_string[index.to_i..index.to_i+22]
+            puts "cal_widget_array[i] ="+ cal_widget_array[i].to_s
+            i = i +1
+            #put the rest of the string to be checked another calendarwidgetplugin-name
+            widget_string = widget_string[index.to_i+22..widget_string.length]
+        end
+	end
+	#Delete calendar widgets
+	for j in 0..cal_widget_array.length-1
+		app.HsWidgetHostVisual( :name => cal_widget_array[j].to_s ).CalendarWidget.HbWidget( :name => 'CalendarWidget' ).HbWidget( :name => 'contentContainer' ).HbLabel( :name => 'middleLabel' ).HbTextItem( :text => 'No entries for 7 days' ).tap_down
+		app.HsIdleWidget.HbWidget( :name => 'controlLayer' ).HsWidgetHostVisual( :name => cal_widget_array[j].to_s ).CalendarWidget.HbWidget( :name => 'CalendarWidget' ).HbWidget( :name => 'contentContainer' ).HbLabel( :name => 'middleLabel' ).HbTextItem( :text => 'No entries for 7 days' ).drag_to(150,560 )
+        sleep 1
+	end
+  end
+  
+    ########################################################################################################################################
+	#
 	#	delete_calendar_events !!!FIXTURE NOT WORKING !!!
 	#
 	#	description:
@@ -751,7 +845,7 @@
 		start_minute = 0
 	end
 	start_date = calculate_date(start_day, start_month, start_year, start_hour, start_minute)
-	puts "start_date:",start_date.to_s
+	puts "start_date:",start_date.to_s		
 	start_time_split = (start_date.to_s).split
 	start_time = start_time_split[1]
 	start_time_to_verify = start_time[0..4] 
@@ -810,14 +904,83 @@
 			when "11" then "Nov"
 			when "12" then "Dec"
 		end
-		puts "time_to_verify:", start_date[0..1]+' '+month_text+' '+time_to_verify
-		return start_date[0..1]+' '+month_text+' '+time_to_verify
+		puts "time_to_verify:", start_date[0..1]+' '+month_text+' - '+start_time_to_verify
+		return start_date[0..1]+' '+month_text+' - '+start_time_to_verify
 	else
 		puts "time_to_verify:", time_to_verify
 		return time_to_verify
 	end
   end
   
+    ########################################################################################################################################
+	#
+	#	create_all_day_event_via_calendar
+	#
+	#	description:
+	#		This function creates all day calendar event via calendar application UI  
+	#
+	#	preconditions: 
+	#
+	#	parameters:
+	#		-subject:			subject of the meeting (not working yet)
+	#		-start_day:	    	start day of the meeting(not working yet)
+	#		-start_month:		start month of the meeting(not working yet)
+	#		-start_year:		start year of the meeting(not working yet)
+	#
+	#	return value:
+	#		-date_to_verify:	all day event date, that is supposed to be in the calendar widget (Format: dd mmm)
+	#
+	#	created: Jarno Mäkelä
+	#	creation date: 24-Aug-2010
+	#
+	########################################################################################################################################
+	
+  def create_all_day_event_via_calendar(subject,start_day, start_month, start_year)
+	#Creates all day calendar event via calendar application
+	#let's calculate the real values of start date. In parameters, eg. the day value can exceed 31, so we need to change month and set day
+	#to 1. Same calculation needed for other parameter values
+	all_day_date = calculate_date(start_day, start_month, start_year, 0,0)
+	puts "all_day_date:",all_day_date.to_s
+	all_day_date_split = (all_day_date.to_s).split
+	cal_app = @sut.run(:name => "calendar.exe")
+	#cal_app.HbIconItem(:iconName => 'qtg_mono_options_menu').tap
+	cal_app.HbMarqueeItem(:text => 'Calendar').tap
+	cal_app.HbTextItem(:text => 'New entry').tap
+	#Add the subject. Cannot do this currently,since phone won't go away from text input
+	#cal_app.HbLineEdit( :name => 'subjectItem' ).tap
+	#cal_app.HbLineEdit( :name => 'subjectItem' ).HbScrollArea.HbWidget.type_text(subject)
+	#cal_app.QGraphicsWidget( :name => 'vkbHandle' ).tap
+	#Tap all day event option
+	cal_app.HbCheckBox( :name => 'allDayItem' ).tap
+	start_date = all_day_date_split[0]
+	#add start date
+	if start_date[0..1].to_i > @day.to_i || start_date[3..4].to_i > @month.to_i || start_date[6..9].to_i > @year.to_i then
+		puts "calendar event is in another day that today in future"
+		#set calendar date
+		cal_app.HbPushButton( :name => 'startDate' ).tap
+		set_event_date_via_UI(cal_app,start_date)
+		cal_app.HbTextItem( :text => 'OK' ).tap
+	end
+	cal_app.HbIconItem(:iconName => 'qtg_mono_back').tap
+	cal_app.close
+	month_text = case start_date[3..4]
+		when "01" then "Jan"
+		when "02" then "Feb"
+		when "03" then "Mar"
+		when "04" then "Apr"
+		when "05" then "May"
+		when "06" then "Jun"
+		when "07" then "Jul"
+		when "08" then "Aug"
+		when "09" then "Sep"
+		when "10" then "Oct"
+		when "11" then "Nov"
+		when "12" then "Dec"
+	end
+	puts "date_to_verify:", start_date[0..1]+' '+month_text
+	return start_date[0..1]+' '+month_text
+ end
+  
   ##############################################################################################################################################
   # Calendar widget - initialize
   ##############################################################################################################################################
@@ -969,8 +1132,53 @@
   #
   ############################################################################################################################################
   
-  def _test_calendar_widget_one_all_day_event_and_one_other_timed_event_overlapping
-	
+  def test_calendar_widget_one_all_day_event_and_one_other_timed_event_overlapping
+	#Preconditions
+	# Device is in Home Screen.
+	app = @sut.application(:name => 'hsapplication')
+	#verify(){app.HbIconItem(:iconName => 'qtg_mono_applications_all')}
+	#One all day event and one timed event happens few hours after current phone time at today in Calendar.
+	check_phone_date
+	check_phone_time
+	all_day_event_time_for_verification = create_all_day_event_via_calendar("not working all day",@day.to_i,@month.to_i,@year.to_i)
+	today_time_for_verification = create_calendar_event_via_calendar("not working",@day.to_i,@month.to_i,@year.to_i,@hour.to_i+2,@minute.to_i,0,1,0)
+	#Calendar widget is added to Home Screen.
+	#Not adding calendar widget, if it already exists there
+	if not(app.test_object_exists?("HbWidget",{:name => 'CalendarWidget'})) then
+		#add calendar widget to home screen
+		app.HbIconItem(:iconName => 'qtg_mono_applications_all').tap
+		add_calendar_widget_to_homescreen(app,'AppListButton')
+	end	
+	#Step 1: Check calendar widget
+	#Step 1 Expected: 
+	#widget icon is shown correctly.
+	verify(){app.HbWidget( :name => 'CalendarWidget' ).HbWidget( :name => 'iconContainer' ).HbLabel( :name => 'iconLabel' )}
+	#reminder icon is not shown
+    if (app.test_object_exists?("HbFrameItem",{:frameGraphicsName => 'qtg_small_reminder'})) then
+       	raise VerificationError ,"ERROR: There is reminder icon in calendar widget, when it should not be there", caller
+    end
+    #Calendar widget shows overlapping information as two rows: first row shows the current date and second row shows the text '2 overlapping  entries'
+    verify(){app.HbWidget( :name => 'CalendarWidget' ).HbWidget( :name => 'contentContainer' ).HbLabel( :__index => 0 ).HbTextItem( :text => all_day_event_time_for_verification )}
+    verify(){app.HbWidget( :name => 'CalendarWidget' ).HbWidget( :name => 'contentContainer' ).HbLabel( :__index => 1 ).HbTextItem( :text => '2 overlapping  entry' )}        
+    #Step 2: Tap calendar widget and remove the timed event from calendar
+	#!!!!! Cannot do yet below
+#	app.HbTextItem( :text => '2 overlapping  entry' ).tap
+    #Step 2 expected: timed event can be removed
+
+    #Step 3: Check Calendar widget.
+    #Step 3 Expected: 
+    #- All icons (widget icon and reminder icon) are shown correctly.
+	#!!!!! Cannot run yet below
+   	#verify(){app.HbWidget( :name => 'CalendarWidget' ).HbWidget( :name => 'iconContainer' ).HbLabel( :name => 'iconLabel' )}
+	#!!!!! Cannot run yet below
+	#if not (app.test_object_exists?("HbFrameItem",{:frameGraphicsName => 'qtg_small_reminder'})) then
+    #  	raise VerificationError ,"ERROR: There is not reminder icon in calendar widget, when it should be there", caller
+    #end
+	#- Calendar widget shows  rows: first row shows the date and second row shows the name of all day event .
+	#!!!!! Cannot run yet below
+	#verify(){app.HbWidget( :name => 'CalendarWidget' ).HbWidget( :name => 'contentContainer' ).HbLabel( :__index => 0 ).HbTextItem( :text => all_day_event_time_for_verification )}
+	#verify(){app.HbWidget( :name => 'CalendarWidget' ).HbWidget( :name => 'contentContainer' ).HbLabel( :__index => 1 ).HbTextItem( :text => 'Unnamed' )}        
+	delete_calendar_events_via_UI	
   end
   
   ##############################################################################################################################################
@@ -1019,8 +1227,9 @@
 		#- Only today event is shown in widget as two rows: first row shows the event time and second row shows the event title.
 		day_to_verify = @day.to_i
 		verify(){app.HbTextItem(:text => day_to_verify)}
-		verify(){app.HbLabel( :name => 'upperLabel' ).HbTextItem( :text => today_time_for_verification )}
-		verify(){app.HbLabel( :name => 'lowerLabel' ).HbTextItem( :text => 'Unnamed' )}
+		verify(){app.HbLabel( :name => 'upperLabelShort' ).HbTextItem( :text => today_time_for_verification )}
+		#!!!!! Cannot run yet below
+		#verify(){app.HbLabel(:name => 'lowerLabel'  ).HbTextItem( :text => 'Unnamed' )}
 		#Verify, that reminder icon in widget is shown
 		if not(app.test_object_exists?("HbFrameItem",{:frameGraphicsName => 'qtg_small_reminder'})) then
 			raise VerificationError ,"ERROR: There is not reminder icon in calendar widget, when it should be there", caller
@@ -1060,58 +1269,6 @@
   #
   ############################################################################################################################################
   
-  def test_calendar_widget_overlapping_events
-	#Preconditions:
-	#Device is in Homescreen
-	app = @sut.application(:name => 'hsapplication')
-	verify(){app.HbIconItem(:iconName => 'qtg_mono_applications_all')}
-	#- One event happens few hours after current phone time at today in Calendar.
-	check_phone_date
-	check_phone_time
-	today_time_for_verification = create_calendar_event_via_calendar("not working",@day.to_i,@month.to_i,@year.to_i,@hour.to_i+2,@minute.to_i,0,0,0)
-	#-Calendar widget is added to Home Screen.
-	#Not adding calendar widget, if it already exists there
-	if not(app.test_object_exists?("HbWidget",{:name => 'CalendarWidget'})) then
-		#add calendar widget to home screen
-		app.HbIconItem(:iconName => 'qtg_mono_applications_all').tap
-		add_calendar_widget_to_homescreen(app,'AppListButton')
-	end
-	#Step 1:Check Calendar widget.
-	#step 1 Expected: - All icons (widget icon and reminder icon) are shown correctly.
-	#- Calendar widget shows the event as two rows: first row show the event time and second row shows the event title.
-	day_to_verify = @day.to_i
-	verify(){app.HbTextItem(:text => day_to_verify)}
-	verify(){app.HbLabel( :name => 'upperLabel' ).HbTextItem( :text => today_time_for_verification )}
-	verify(){app.HbLabel( :name => 'lowerLabel' ).HbTextItem( :text => 'Unnamed' )}
-	#Verify, that reminder icon in widget is shown
-	if not(app.test_object_exists?("HbFrameItem",{:frameGraphicsName => 'qtg_small_reminder'})) then
-		raise VerificationError ,"ERROR: There is not reminder icon in calendar widget, when it should be there", caller
-	end
-	
-	#Step 2:Create another event overlapping the first event in Calendar.
-	another_time_for_verification = create_calendar_event_via_calendar("Another not working",@day.to_i,@month.to_i,@year.to_i,@hour.to_i+2,@minute.to_i,0,0,0)
-	#Step 3:Return to Home Screen and check Calendar widget.
-	#Step 3 Expected: - All icons (widget icon and reminder icon) are shown correctly.
-	#- Calendar widget shows the overlapping information as two rows: first row shows overlapping time and second row shows  text 
-	#'2 events overlapping'.
-	if @hourformat_12 == true then
-		overlapping_time_for_verification = today_time_for_verification[0..7]+'-'+another_time_for_verification[9..16]
-	else
-		overlapping_time_for_verification = today_time_for_verification[0..4]+'-'+another_time_for_verification[6..10]
-	end
-	puts "overlapping_time_for_verification: ",overlapping_time_for_verification
-	verify(){app.HbLabel( :name => 'upperLabel' ).HbTextItem( :text => overlapping_time_for_verification )}
-	verify(){app.HbLabel( :name => 'lowerLabel' ).HbTextItem( :text => '2 overlapping entry' )}
-	#Step 4: Tap the overlapping events part in calendar view
-	app.HbLabel( :name => 'lowerLabel' ).HbTextItem( :text => '2 overlapping entry' ).tap
-	#Step 4 Expected: - Phone goes to calendar agenda view with all events visible.
-	#ToDo 
-	# !! NOT WORKING IN week 30 SW !!
-	# - The date is same as the event date.
-	#ToDo
-	delete_calendar_events_via_UI
-  end
-  
   def test_calendar_widget_overlapping_events_fixed
 	#Preconditions:
 	#Device is in Homescreen
@@ -1133,6 +1290,10 @@
 	#- Calendar widget shows the event as two rows: first row show the event time and second row shows the event title.
 	day_to_verify = @day.to_i
 	verify(){app.HbTextItem(:text => day_to_verify)}
+	#!!!!! Cannot run yet below
+	#verify(){app.HbLabel( :__index => 0 ).HbTextItem( :text => today_time_for_verification )}
+	#!!!!! Cannot run yet below
+	#verify(){app.HbLabel( :__index => 1 ).HbTextItem( :text => 'Unnamed' )}
 	#Verify, that reminder icon in widget is shown
 	if not(app.test_object_exists?("HbFrameItem",{:frameGraphicsName => 'qtg_small_reminder'})) then
 		raise VerificationError ,"ERROR: There is not reminder icon in calendar widget, when it should be there", caller
@@ -1143,14 +1304,25 @@
 	#Step 3:Return to Home Screen and check Calendar widget.
 	#Step 3 Expected: - All icons (widget icon and reminder icon) are shown correctly.
 	#- Calendar widget shows the overlapping information as two rows: first row shows overlapping time and second row shows  text 
-	#'2 events overlapping'.
+	#'2 overlapping entry'.
 	if @hourformat_12 == true then
 		overlapping_time_for_verification = today_time_for_verification[0..7]+'-'+another_time_for_verification[9..16]
 	else
 		overlapping_time_for_verification = today_time_for_verification[0..4]+'-'+another_time_for_verification[6..10]
 	end
 	puts "overlapping_time_for_verification: ",overlapping_time_for_verification
-	verify(){app.HbLabel( :name => 'lowerLabel' ).HbTextItem( :text => '2 overlapping entry' )}
+	#!!!!! Cannot run yet below
+	#verify(){app.HbLabel( :name => 'upperLabelLong'  ).HbTextItem( :text => overlapping_time_for_verification )}
+	verify(){app.HbLabel(:name => 'lowerLabel' ).HbTextItem( :text => '2 overlapping entry' )}
+        #Step 4: Tap the overlapping events part in calendar view
+	#!!!!! Cannot run yet below
+	#app.HbLabel( :__index => 1 ).HbTextItem( :text => '2 overlapping entry' ).tap
+	#!!!!! Cannot do yet below
+	#Step 4 Expected: - Phone goes to calendar agenda view with all events visible.
+	#ToDo 
+	# !! NOT WORKING IN week 30 SW !!
+	# - The date is same as the event date.
+	#ToDo
 	delete_calendar_events_via_UI
   end #test_calendar_widget_overlapping_events_fixed
   
@@ -1194,8 +1366,9 @@
 	#Step 1 Expected: 
 	#- Calendar agenda view is opened.
 	#- The date is same as the event date.
-	cal_app = @sut.application(:name => 'calendar')
-	verify(){cal_app.CalenAgendaView( :name => 'agendaView' )}
+	#!!!!! Cannot run yet below
+	#cal_app = @sut.application(:name => 'calendar')
+	#verify(){cal_app.CalenAgendaView( :name => 'agendaView' )}
 	#Error in SW, cannot verify date yet, since shows no date
 	#postactions
 	delete_calendar_events_via_UI
@@ -1222,70 +1395,50 @@
   ############################################################################################################################################
   
   def test_calendar_widget_no_events
-	#running_round = 1
-	#max_running_rounds = 2
-	#begin
-		#preconditions:
-		#-Device is in Home Screen
-		app = @sut.application(:name => 'hsapplication')
-		#verify(){@sut.application(:name => 'hsapplication').HbIconItem(:iconName => 'qtg_mono_applications_all')}
-		verify(){app.HbIconItem(:iconName => 'qtg_mono_applications_all')}
-		#navigate_to_first_homescreen
-		#-Calendar widget is added to Home Screen.
-		#Not adding calendar widget, if it already exists there
-		if not(app.test_object_exists?("HbWidget",{:name => 'CalendarWidget'})) then
-			#add calendar widget to home screen
-			app.HbIconItem(:iconName => 'qtg_mono_applications_all').tap
-			add_calendar_widget_to_homescreen(app,'AppListButton')
-		end
-		#ToDo:Checking, that there are no events in calendar
+	#preconditions:
+	#-Device is in Home Screen
+	app = @sut.application(:name => 'hsapplication')
+	#verify(){@sut.application(:name => 'hsapplication').HbIconItem(:iconName => 'qtg_mono_applications_all')}
+	verify(){app.HbIconItem(:iconName => 'qtg_mono_applications_all')}
+	#navigate_to_first_homescreen
+	#-Calendar widget is added to Home Screen.
+	#Not adding calendar widget, if it already exists there
+	if not(app.test_object_exists?("HbWidget",{:name => 'CalendarWidget'})) then
+		#add calendar widget to home screen
+		app.HbIconItem(:iconName => 'qtg_mono_applications_all').tap
+		add_calendar_widget_to_homescreen(app,'AppListButton')
+	end
+	#ToDo:Checking, that there are no events in calendar
 	
-		#step 1: Check Calendar widget
-		#Verify, that calendar widget shows current date
-		check_phone_date
-		month_in_view = case @month
-			when "01" then "January"
-			when "02" then "February"
-			when "03" then "March"
-			when "04" then "April"
-			when "05" then "May"
-			when "06" then "June"
-			when "07" then "July"
-			when "08" then "August"
-			when "09" then "September"
-			when "10" then "October"
-			when "11" then "November"
-			when "12" then "December"
-		end
-		day_to_verify = @day.to_i
-		verify(){app.HbTextItem(:text => day_to_verify)}
-		verify(){app.HbTextItem(:text => month_in_view)}
-		#Calendar widget content contains "No event for next 7 days"
-		verify(){app.HbTextItem(:text => 'No entries for 7 days')}
-	
-		#Verify, that reminder icon in widget is not shown
-		if (app.test_object_exists?("HbIconItem",{:iconName => 'images/bell.PNG'})) then
-			raise VerificationError ,"ERROR: There is reminder icon in calendar widget, when it should not be there", caller
-		end
-		#Remove calendar widget from display
-		remove_calendar_widget_from_homescreen(0)
-	#rescue
-	#	if (running_round < max_running_rounds) then
-    #       running_round = running_round + 1
-    #       puts "Some error came during run. Lets try again"
-    #       teardown
-	#       retry
-    #    else
-    #       puts "Test failed"
-    #       raise
-    #    end
-	#end #rescue			
+	#step 1: Check Calendar widget
+	#Verify, that calendar widget shows current date
+	check_phone_date
+	month_in_view = case @month
+		when "01" then "January"
+		when "02" then "February"
+		when "03" then "March"
+		when "04" then "April"
+		when "05" then "May"
+		when "06" then "June"
+		when "07" then "July"
+		when "08" then "August"
+		when "09" then "September"
+		when "10" then "October"
+		when "11" then "November"
+		when "12" then "December"
+	end
+	day_to_verify = @day.to_i
+	verify(){app.HbTextItem(:text => day_to_verify)}
+	verify(){app.HbTextItem(:text => month_in_view)}
+	#Calendar widget content contains "No event for next 7 days"
+	verify(){app.HbTextItem(:text => 'No entries for 7 days')}
+
+	#Verify, that reminder icon in widget is not shown
+	if (app.test_object_exists?("HbIconItem",{:iconName => 'images/bell.PNG'})) then
+		raise VerificationError ,"ERROR: There is reminder icon in calendar widget, when it should not be there", caller
+	end
   end #test_calendar_widget_no_events
 
-  def _test_create_meeting
-	create_calendar_event_via_calendar('Meeting 1')
-  end
-
 ################################################################################################################################################
 ###
 ###						BAT cases end. User story related FuTe cases start
@@ -1313,77 +1466,437 @@
   #
   ############################################################################################################################################
   
-  def _test_calendar_widget_One_upcoming_event_in_7_day_away_and_one_in_8_day_away
-	#running_round = 1
-	#max_running_rounds = 2
-	#begin
-		#preconditions:
-		#-Device is in Home Screen
-		app = @sut.application(:name => 'hsapplication')
-		verify(){app.HbIconItem(:iconName => 'qtg_mono_applications_all')}
-		navigate_to_first_homescreen
-		#-One event at 7 days away and one event at 8 days away in Calendar
-		check_phone_date
-		check_phone_time
-		seventh_day_time_for_verification = create_calendar_event(app, '7th day meeting',@day.to_i+7,@month.to_i,@year.to_i,@hour.to_i,@minute.to_i,0,1,0)
-		eight_day_time_for_verification = create_calendar_event(app, '8th day meeting',@day.to_i+8,@month.to_i,@year.to_i,@hour.to_i,@minute.to_i,0,1,0)
-		#-Calendar widget is added to Home Screen.
-		#Not adding calendar widget, if it already exists there
-		if not(app.test_object_exists?("HbWidget",{:name => 'CalendarWidget'})) then
-			#add calendar widget to home screen
-			app.HbIconItem(:iconName => 'qtg_mono_applications_all').tap
-			add_calendar_widget_to_homescreen(app,'AppListButton')
-		end
-		#step 1: Check Calendar widget
-		#step 1 expected:
-		#- All icons (widget icon and reminder icon) are shown correctly.
-		#Verify, that reminder icon in widget is not shown. Cannot be verified currently, since fixture creating calendar event does not 
-		#have reminders
-		#if not(app.test_object_exists?("HbIconItem",{:iconName => 'images/bell.PNG'})) then
-		#	raise VerificationError ,"ERROR: There is not reminder icon in calendar widget, when it should not be there", caller
-		#end
-		#- Only event at 7 days away is shown in widget as two rows: first row shows the event date and title, second row shows the text 'No calendar entries today'.
-		#Verify, that calendar widget shows current date
-		month_in_view = case @month
-			when 1 then "January"
-			when 2 then "February"
-			when 3 then "March"
-			when 4 then "April"
-			when 5 then "May"
-			when 6 then "June"
-			when 7 then "July"
-			when 8 then "August"
-			when 9 then "September"
-			when 10 then "October"
-			when 11 then "November"
-			when 12 then "December"
-		end
-		day_to_verify = @day.to_i
-		verify(){app.HbTextItem(:text => day_to_verify)}
-		verify(){app.HbTextItem(:text => month_in_view)}
-		#- Only event at 7 days away is shown in widget as two rows: first row shows the event date and title, second row shows the text 'No calendar entries today'.
-		seventh_date_for_verification = verify(){app.HbLabel( :name => 'upperLabel' ).HbTextItem( :text => seventh_day_time_for_verification+' 7th day meeting' )}
-		#Remove calendar widget from display
-		#remove_calendar_widget_from_homescreen(0)
-	#rescue
-	#	if (running_round < max_running_rounds) then
-    #       running_round = running_round + 1
-    #       puts "Some error came during run. Lets try again"
-    #       teardown
-	#       retry
-    #    else
-    #       puts "Test failed"
-    #       raise
-    #    end
-	#end #rescue			
+  def test_calendar_widget_One_upcoming_event_in_7_day_away_and_one_in_8_day_away
+    #preconditions:
+	#-Device is in Home Screen
+	app = @sut.application(:name => 'hsapplication')
+	verify(){app.HbIconItem(:iconName => 'qtg_mono_applications_all')}
+	#-One event at 7 days away and one event at 8 days away in Calendar
+	check_phone_date
+	check_phone_time
+	seventh_day_time_for_verification = create_calendar_event_via_calendar("not working",@day.to_i+7,@month.to_i,@year.to_i,@hour.to_i+2,@minute.to_i,0,0,0)
+	eight_day_time_for_verification = create_calendar_event_via_calendar("not working",@day.to_i+8,@month.to_i,@year.to_i,@hour.to_i+2,@minute.to_i,0,0,0)
+	#-Calendar widget is added to Home Screen.
+	#Not adding calendar widget, if it already exists there
+	if not(app.test_object_exists?("HbWidget",{:name => 'CalendarWidget'})) then
+		#add calendar widget to home screen
+		app.HbIconItem(:iconName => 'qtg_mono_applications_all').tap
+		add_calendar_widget_to_homescreen(app,'AppListButton')
+	end
+	#step 1: Check Calendar widget
+	#step 1 expected:
+	#- All icons (widget icon and reminder icon) are shown correctly.
+	verify(){app.HbLabel( :name => 'iconLabel' )}
+	#Verify, that reminder icon in widget is shown
+	#!!! Cannot run this yet 
+	#if not(app.test_object_exists?("HbFrameItem",{:frameGraphicsName => 'qtg_small_reminder'})) then
+	#	raise VerificationError ,"ERROR: There is not reminder icon in calendar widget, when it should be there", caller
+	#end
+	#Verify, that calendar widget shows current date
+	month_in_view = case @month
+		when "01" then "January"
+		when "02" then "February"
+		when "03" then "March"
+		when "04" then "April"
+		when "05" then "May"
+		when "06" then "June"
+		when "07" then "July"
+		when "08" then "August"
+		when "09" then "September"
+		when "10" then "October"
+		when "11" then "November"
+		when "12" then "December"
+	end
+	day_to_verify = @day.to_i
+	verify(){app.HbTextItem(:text => day_to_verify)}
+	verify(){app.HbWidget( :name => 'CalendarWidget' ).HbWidget( :name => 'iconContainer' ).HbLabel( :name => 'month' ).HbTextItem(:text => month_in_view)}
+	#- Only event at 7 days away is shown in widget as two rows: first row shows the event date, second row shows the event title.
+	#!! Cannot run this yet
+	#verify(){app.HbLabel( :name => 'upperLabelShort' ).HbTextItem( :text => seventh_day_time_for_verification)}			
+	#!! Cannot run this yet
+	#verify(){app.HbLabel( :name => 'lowerLabel' ).HbTextItem( :text => "Unnamed")}			
+	#Step 2: Remove 7 days away meeting from calendar and check calendar widget
+	#!! Cannot do this yet. Tapping event won't go to calendar view
+	#Step 2 Expected:
+	#- All icons (widget icon and reminder icon) are shown correctly.
+	#!! Cannot run this yet
+	#verify(){app.HbLabel( :name => 'iconLabel' )}
+	#Verify, that reminder icon in widget is shown
+	#!! Cannot run this yet
+	#if not(app.test_object_exists?("HbFrameItem",{:frameGraphicsName => 'qtg_small_reminder'})) then
+	#	raise VerificationError ,"ERROR: There is not reminder icon in calendar widget, when it should be there", caller
+	#end
+	#- text "No entries for next 7 days" is showing
+	#!! Cannot run this yet
+	#verify(){app.HbTextItem(:text => 'No entries for 7 days')}
+	#postactions
+	delete_calendar_events_via_UI
   end #test_calendar_widget_One_upcoming_event_in_7_day_away_and_one_in_8_day_away
+  
+  ##############################################################################################################################################
+  # Calendar widget - reminder icon
+  ##############################################################################################################################################
+  #
+  # Purpose of this test case is to check, that there is seen reminder-icon in calendar widget for events, that have reminder
+  #
+  #	Created at: 25.08.2010
+  #	Created by: Jarno Mäkelä
+  #	Reviewed by: 
+  #
+  #	===	preconditions
+  #	- Device is in Home Screen.
+  # - One event happens few hours after current phone time at today in Calendar and reminder is set on.
+  # - Calendar widget is added to Home Screen.
+  #
+  #	===	params
+  #	none
+  #
+  ############################################################################################################################################
+  
+  def test_calendar_widget_reminder_icon
+	#Preconditions:
+	#Device is in Homescreen
+	app = @sut.application(:name => 'hsapplication')
+	verify(){app.HbIconItem(:iconName => 'qtg_mono_applications_all')}
+	#- One event happens few hours after current phone time at today in Calendar and reminder is set on.
+	check_phone_date
+	check_phone_time
+	today_time_for_verification = create_calendar_event_via_calendar("not working",@day.to_i,@month.to_i,@year.to_i,@hour.to_i+2,@minute.to_i,0,0,0)
+	#-Calendar widget is added to Home Screen.
+	#Not adding calendar widget, if it already exists there
+	if not(app.test_object_exists?("HbWidget",{:name => 'CalendarWidget'})) then
+		#add calendar widget to home screen
+		app.HbIconItem(:iconName => 'qtg_mono_applications_all').tap
+		add_calendar_widget_to_homescreen(app,'AppListButton')
+	end
+	#Step 1:Check Calendar widget.
+	#step 1 Expected: - All icons (widget icon and reminder icon) are shown correctly.
+	#- Calendar widget shows the event as two rows: first row show the event time and second row shows the event title.
+	day_to_verify = @day.to_i
+	verify(){app.HbTextItem(:text => day_to_verify)}
+	#!!!!! Cannot run yet below
+	#verify(){app.HbLabel( :name => 'upperLabelShort' ).HbTextItem( :text => today_time_for_verification )}
+	#!!!!! Cannot run yet below
+	#verify(){app.HbLabel( :name => 'lowerLabel' ).HbTextItem( :text => 'Unnamed' )}
+	#Verify, that reminder icon in widget is shown
+	if not(app.test_object_exists?("HbFrameItem",{:frameGraphicsName => 'qtg_small_reminder'})) then
+		raise VerificationError ,"ERROR: There is not reminder icon in calendar widget, when it should be there", caller
+	end
+	#Step 2:Change reminder set to off in Calendar.
+	#!!!!!!!!!!!!!!!!!!!!!Cannot do yet, since tapping the calendar widget won't take to calendar agenda view
+	#Step 2 Expected: Reminder is set to off.
 
+	#Step 3: Check Calendar widget.	
+	#Step 3 Expected: 
+	#- Reminder icon is not shown.
+	#- The event is shown correctly.
+	#!!!!! Cannot run yet below
+	#if (app.test_object_exists?("HbFrameItem",{:frameGraphicsName => 'qtg_small_reminder'})) then
+	#	raise VerificationError ,"ERROR: There is reminder icon in calendar widget, when it should not be there", caller
+	#end
+	day_to_verify = @day.to_i
+	verify(){app.HbTextItem(:text => day_to_verify)}
+	#!!!!! Cannot run yet below
+	#verify(){app.HbLabel( :name => 'upperLabelShort' ).HbTextItem( :text => today_time_for_verification )}
+	#!!!!! Cannot run yet below
+	#verify(){app.HbLabel( :name => 'lowerLabel' ).HbTextItem( :text => 'Unnamed' )}
+	
+	#Step 4: Create an event overlapping the previous event and set reminder on.
+	#Step 4 Expected: The event is created with reminder on.
+	another_time_for_verification = create_calendar_event_via_calendar("not working",@day.to_i,@month.to_i,@year.to_i,@hour.to_i+2,@minute.to_i,0,0,0)
+	
+	#Step 5: Check Calendar widget.	
+	#Step 5 Expected: 
+	#- Reminder icon is not shown .
+	if (app.test_object_exists?("HbFrameItem",{:frameGraphicsName => 'qtg_small_reminder'})) then
+		raise VerificationError ,"ERROR: There is reminder icon in calendar widget, when it should not be there", caller
+	end
+	#- The overlapping information is shown in content.
+	if @hourformat_12 == true then
+		overlapping_time_for_verification = today_time_for_verification[0..7]+'-'+another_time_for_verification[9..16]
+	else
+		overlapping_time_for_verification = today_time_for_verification[0..4]+'-'+another_time_for_verification[6..10]
+	end
+	puts "overlapping_time_for_verification: ",overlapping_time_for_verification
+	verify(){app.HbLabel( :name => 'upperLabelLong'  ).HbTextItem( :text => overlapping_time_for_verification )}
+	verify(){app.HbLabel(:name => 'lowerLabel' ).HbTextItem( :text => '2 overlapping entry' )}
+	#Step 6: Remove all events in Calendar and check Calendar widget.
+	delete_calendar_events_via_UI
+	#Step 6 expected: 
+	#- Reminder icon is not shown.
+	if (app.test_object_exists?("HbFrameItem",{:frameGraphicsName => 'qtg_small_reminder'})) then
+		raise VerificationError ,"ERROR: There is reminder icon in calendar widget, when it should not be there", caller
+	end	
+	#- 'No entries for next 7 days' is shown in widget content.
+	verify(){app.HbTextItem(:text => 'No entries for 7 days')}
+	
+	#Step 7:Create an event with reminder on happens at next day in Calendar and check Calendar widget.
+	tomorrow_time_for_verification = create_calendar_event_via_calendar("not working",@day.to_i+1,@month.to_i,@year.to_i,@hour.to_i+2,@minute.to_i,0,1,0)
+	#Step 7 Expected: 
+	#- Reminder icon is shown in right upper corner.
+	if not(app.test_object_exists?("HbFrameItem",{:frameGraphicsName => 'qtg_small_reminder'})) then
+		raise VerificationError ,"ERROR: There is not reminder icon in calendar widget, when it should be there", caller
+	end	
+	#- The widget content is shown as two rows: first row shows  the event date and second row shows the event title.
+	#!!!!! Cannot run yet below
+	#verify(){app.HbLabel( :name => 'upperLabelShort' ).HbTextItem( :text => tomorrow_time_for_verification )}
+	#!!!!! Cannot run yet below
+	#verify(){app.HbLabel( :name => 'lowerLabel' ).HbTextItem( :text => 'Unnamed' )}
+	#postactions
+	delete_calendar_events_via_UI
+  end #test_calendar_widget_reminder_icon
+  
 ################################################################################################################################################
 ###
-###						User story related FuTe cases cases end. NFT cases start
+###						User story related FuTe cases cases end. Other FuTe cases start
 ###
 ################################################################################################################################################
 
+ ##############################################################################################################################################
+  # test_calendar_widget_all_day_event_lasts_several_days
+  ##############################################################################################################################################
+  #
+  # Purpose of this test case is to verify, that all day event is shown correctly in calendar widget, when all day event lasts three days. That is, it is shown in first day, but not after that.
+  #
+  #	Created at: 24.08.2010
+  #	Created by: Jarno Mäkelä
+  #	Reviewed by: 
+  #
+  #	===	preconditions
+  #	- Device is in Home screen.
+  #    - three days lasting event in Calendar starting today, no other events at same time
+  #    - Calendar widget is added to Home Screen.
+  #
+  #	===	params
+  #	none
+  #
+  ############################################################################################################################################
+
+def  _test_calendar_widget_all_day_event_lasts_several_days
+	#Start is missing
+	#Step 1: Check calendar widget
+	#Step 1 Expected: 
+	#- All icons (widget icon and reminder icon) are shown correctly.
+	verify(){app.HbWidget( :name => 'CalendarWidget' ).HbWidget( :name => 'iconContainer' ).HbLabel( :name => 'iconLabel' )}
+        if not(app.test_object_exists?("HbFrameItem",{:frameGraphicsName => 'qtg_small_reminder'})) then
+        	raise VerificationError ,"ERROR: There is not reminder icon in calendar widget, when it should be there", caller
+        end
+        #- Calendar widget shows  rows: first row shows the event date and second row shows the name of all day event .
+        verify(){HbWidget( :name => 'CalendarWidget' ).HbWidget( :name => 'contentContainer' ).HbLabel( :__index => 0 ).HbTextItem( :text => all_day_event_time_for_verification )}
+        verify(){HbWidget( :name => 'CalendarWidget' ).HbWidget( :name => 'contentContainer' ).HbLabel( :__index => 1 ).HbTextItem( :text => 'Unnamed' )}        
+        #Step 2: Change phone date for tomorrow.
+        clock_app = @sut.run(:name => "clock.exe")
+        clock_app.HbMarqueeItem(:text => 'Clock').tap
+        clock_app.HbTextItem( :text => 'Settings' ).tap
+        if clock_app.HbCheckBox( :name => 'networkTime' ).test_object_exists?("HbIconItem",{:iconName => 'qtg_small_selected'}) then
+        	clock_app.HbCheckBox( :name => 'networkTime' ).tap
+        end
+        clock_app.HbPushButton( :name => 'dateItem' ).tap
+        tomorrow_date = calculate_date(@day.to_i+1,@month.to_i,@year.to_i, 0, 0)
+	puts "tomorrow_date:",tomorrow_date.to_s
+	if tomorrow_date[0..1].to_i < @day.to_i then
+		clock_app.HbDatePickerView(:__index => 0).HbAbstractItemContainer.HbDatePickerViewItem(:__index => 3).HbTextItem.gesture(:Up,0.5,53) 
+		if tomorrow_date[3..4].to_i < @month.to_i then
+			 clock_app.HbDatePickerView(:__index => 1).HbAbstractItemContainer.HbDatePickerViewItem(:__index => 2).HbTextItem.gesture(:Up,0.5,53) 
+			 clock_app.HbDatePickerView(:__index => 2).HbAbstractItemContainer.HbDatePickerViewItem(:__index => 2).HbTextItem.gesture(:Up,0.5,53) 		
+		else
+			 clock_app.HbDatePickerView(:__index => 1).HbAbstractItemContainer.HbDatePickerViewItem(:__index => 2).HbTextItem.gesture(:Up,0.5,53) 		
+		end
+	else
+		clock_app.HbDatePickerView(:__index => 0).HbAbstractItemContainer.HbDatePickerViewItem(:__index => 3).HbTextItem.gesture(:Up,0.5,53) 
+	end
+        #Step 2 expected: Date can be changed
+        clock_app.HbTextItem( :text => 'OK' ).tap
+        clock_app.close
+        #Step 3: Check Calendar widget.
+        #Step 3 Expected: 
+        #- Calendar widget icon shows current date.
+        day_to_verify =  tomorrow_date[0..1].to_i
+        month_in_view = case tomorrow_date[3..4]
+		when "01" then "January"
+		when "02" then "February"
+		when "03" then "March"
+		when "04" then "April"
+		when "05" then "May"
+		when "06" then "June"
+		when "07" then "July"
+		when "08" then "August"
+		when "09" then "September"
+		when "10" then "October"
+		when "11" then "November"
+		when "12" then "December"
+	end
+	verify(){app.HbTextItem(:text => day_to_verify)}
+	verify(){app.HbTextItem(:text => month_in_view)}
+        #- 'No entries for 7 days' is shown in widget content.
+	verify(){app.HbTextItem(:text => 'No entries for 7 days')}
+	 #- Reminder icon in widget should not be shown.
+	if (app.test_object_exists?("HbIconItem",{:iconName => 'images/bell.PNG'})) then
+		raise VerificationError ,"ERROR: There is reminder icon in calendar widget, when it should not be there", caller
+	end
+	#set time back to use network time
+	clock_app = @sut.run(:name => "clock.exe")
+        clock_app.HbMarqueeItem(:text => 'Clock').tap
+        clock_app.HbTextItem( :text => 'Settings' ).tap
+        clock_app.HbCheckBox( :name => 'networkTime' ).tap
+        clock_app.close
+	delete_calendar_events_via_UI	
+end # test_calendar_widget_all_day_event_lasts_several_days
+################################################################################################################################################
+###
+###						Other FuTe cases cases end. NFT cases start
+###
+################################################################################################################################################
+
+  ##############################################################################################################################################
+  # Calendar widget - NFT - Measure memory consumption when adding seven calendar widgets to HS
+  ##############################################################################################################################################
+  #
+  # The purpose of this test case is to verify that calendar widget doesn't allocate excess amount of memory. Measure memory level before 
+  # adding any widgets, then add seven calendar widgets and then measure the memory level. Compare the results.
+  #
+  #	Created at: 26.08.2010
+  #	Created by: Jarno Mäkelä
+  #	Reviewed by: 
+  #
+  #	===	preconditions
+  #	- Device is in Home Screen.
+  #	- No calendar widget in any of the homescreens
+  #
+  #	===	params
+  #	none
+  #
+  ############################################################################################################################################
+  
+  def test_calendar_widget_NFT_Measure_memory_consumption_when_adding_seven_calendar_widgets_to_HS
+	#preconditions:
+	#-Device is in Home Screen
+	app = @sut.application(:name => 'hsapplication')
+	verify(){app.HbIconItem(:iconName => 'qtg_mono_applications_all')}
+	#	- No calendar widget in any of the homescreens
+	#This is done in initialize test, when starting test round
+	#start memory logging
+	app.log_mem({:interval => 10, :filePath => 'C:\Data', :append => true})
+	#app.log_gpu_mem({:interval => 1, :filePath => 'C:\Data'})
+	#@sut.log_mem({:interval => 1, :filePath => 'C:\Data'})
+	cal_widget_array = Array.new
+	i = 0
+	index = 0
+	drag_distance = 0
+	#app.HbIconItem(:iconName => 'qtg_mono_applications_all').tap
+	#sleep 10
+	#app.HbIconItem(:iconName => 'qtg_mono_back').tap
+	#do 7 times
+	7.times do
+        	#start memory logging again
+        	#app.log_mem({:interval => 5, :filePath => 'C:\Data'})
+        	#app.log_gpu_mem({:interval => 20, :filePath => 'C:\Data'})
+		#add calendar widget to home screen
+		app.HbIconItem(:iconName => 'qtg_mono_applications_all').tap
+		add_calendar_widget_to_homescreen(app,'AppListButton')
+		#app.HbIconItem(:iconName => 'qtg_mono_back').tap
+		#find the name of calendar widget
+        	identificator = TestObjectIdentificator.new(:type => :HsWidgetHostVisual)
+        	xml =  app.HsPageVisual(:__index => 0).xml_data
+        	element_set = xml.xpath( xpath = identificator.get_xpath_to_identify( xml ) ) 
+       		widget_string = String.new(element_set.to_s)
+		for k in 0..i
+			index = widget_string.index('calendarwidgetplugin')
+			widget_name = widget_string[index.to_i..index.to_i+22]
+			widget_string = widget_string[index.to_i+22..widget_string.length]
+		end
+        	cal_widget_array[i]= widget_name      
+		puts "calendar widget added"
+		puts "name of calendar widget is: " + cal_widget_array[i].to_s
+		calendar_widget_object = app.find(:name =>cal_widget_array[i])
+        	calendar_widget_object.tap_down
+        	calendar_widget_object = app.HbWidget( :name => 'controlLayer' ).find(:name => 'CalendarWidget')
+        	calendar_widget_object.drag_to(130, 550-drag_distance.to_i)
+		i = i + 1 
+		drag_distance = drag_distance + 70
+        	#Stop memory logging
+        	#mem_data_end = MobyBase::StateObject.new( app.stop_mem_log )
+        	#count_end = mem_data_end.logData.attribute('entryCount').to_i
+        	#gpu_data_end = MobyBase::StateObject.new( app.stop_gpu_log )
+        	#count_end = gpu_data_end.logData.attribute('entryCount').to_i
+        	#puts "count_end: "+count_end.to_s
+        	#j = 0
+        	#while j < count_end do
+            	#	#get heapsize
+            	#	#heap_size_end = mem_data_end.logEntry(:id => j.to_s).attribute('heapSize').to_i
+            	#	#puts "heap_size in end:" + heap_size_end.to_s	
+            	#	total_mem_end = gpu_data_end.logEntry(:id => i.to_s).attribute('totalMem').to_i
+            	#	puts " total_mem in end:" + total_mem_end.to_s	
+            	#	used_mem_end = gpu_data_end.logEntry(:id => i.to_s).attribute('usedMem').to_i
+            	#	puts " used_mem in end:" + used_mem_end.to_s	
+            	#	free_mem_end = gpu_data_end.logEntry(:id => i.to_s).attribute('freeMem').to_i
+            	#	puts " free_mem in end:" + free_mem_end.to_s	
+            	#	j += 1
+        	#end
+	end
+	
+	#Delete calendar widgets
+	for j in 0..cal_widget_array.length-1
+        app.HsWidgetHostVisual( :name => cal_widget_array[j].to_s ).CalendarWidget.HbWidget( :name => 'CalendarWidget' ).HbWidget( :name => 'contentContainer' ).HbLabel( :name => 'middleLabel' ).HbTextItem( :text => 'No entries for 7 days' ).tap_down
+		#app.HsIdleWidget.HbWidget( :name => 'controlLayer' ).HsWidgetHostVisual( :name => cal_widget_array[j].to_s ).CalendarWidget.HbWidget( :name => 'CalendarWidget' ).HbWidget( :name => 'contentContainer' ).HbLabel( :name => 'middleLabel' ).HbTextItem( :text => 'No entries for 7 days' ).drag_to_object(app.HsTrashBinWidget( :name => 'trashBin' ))
+		app.HsIdleWidget.HbWidget( :name => 'controlLayer' ).HsWidgetHostVisual( :name => cal_widget_array[j].to_s ).CalendarWidget.HbWidget( :name => 'CalendarWidget' ).HbWidget( :name => 'contentContainer' ).HbLabel( :name => 'middleLabel' ).HbTextItem( :text => 'No entries for 7 days' ).drag_to(150,560 )
+		#app.HsWidgetHostVisual( :name => cal_widget_array[j] ).tap_down
+              	#calendar_widget_object = app.find(:name =>cal_widget_array[j])
+                #calendar_widget_object.tap_down
+                #calendar_widget_object = app.HbWidget( :name => 'controlLayer' ).find(:name =>cal_widget_array[j])
+                #calendar_widget_object.drag_to_object(app.HsTrashBinWidget( :name => 'trashBin' ))
+		#app.HsIdleWidget.HbWidget( :name => 'controlLayer' ).HsWidgetHostVisual( :name => cal_widget_array[j] ).drag_to_object(app.HsTrashBinWidget( :name => 'trashBin' ))
+                sleep 1
+	end
+	sleep 30
+	#gpu_data = MobyBase::StateObject.new( app.stop_gpu_log )
+	mem_data = MobyBase::StateObject.new( app.stop_mem_log )
+	#sut_mem_data = MobyBase::StateObject.new( @sut.stop_mem_log )
+	#draw_graph(gpu_data, ['totalMem','usedMem','freeMem','processPrivateMem'], 'homescreen')
+        draw_graph(mem_data, ['heapSize'], 'homescreen')
+    #    draw_graph(sut_mem_data, ['heapSize'], 'sut')
+        #!!! Cannot do yet
+        #compare start memory amount to end memory amount. This cannot do yet, since they won't match. maybe there are memory leaks in HS
+        
+  end #test_calendar_widget_NFT_Measure_memory_consumption_when_adding_seven_calendar_widgets_to_HS
+  
+  def _test_delete_calendar_widgets
+    #Lets check all widgets in first page
+    app = @sut.application(:name => 'hsapplication')
+    identificator = TestObjectIdentificator.new(:type => :HsWidgetHostVisual)
+	xml =  app.HsPageVisual(:__index => 0).xml_data
+	element_set = xml.xpath( xpath = identificator.get_xpath_to_identify( xml ) ) 
+	widget_string = String.new(element_set.to_s)
+	#lets find all the calendarwidgetplugin-named calendar widgets
+	cal_widget_array = Array.new
+	i = 0
+	index = 0
+	while index != nil do
+              #search first occurence of calendar widget plugin
+              index = widget_string.index('calendarwidgetplugin')
+              if index != nil then
+                    #save the name of calendar widget to array
+                    cal_widget_array[i]=widget_string[index.to_i..index.to_i+22]
+                    puts "cal_widget_array[i] = "+ cal_widget_array[i].to_s
+                    i = i +1
+                    #put the rest of the string to be checked another calendarwidgetplugin-name
+                    widget_string = widget_string[index.to_i+22..widget_string.length]
+             end
+	end
+	#Delete calendar widgets
+	for j in 0..cal_widget_array.length-1
+		app.HsWidgetHostVisual( :name => cal_widget_array[j].to_s ).CalendarWidget.HbWidget( :name => 'CalendarWidget' ).HbWidget( :name => 'contentContainer' ).HbLabel( :name => 'middleLabel' ).HbTextItem( :text => 'No entries for 7 days' ).tap_down
+		app.HsIdleWidget.HbWidget( :name => 'controlLayer' ).HsWidgetHostVisual( :name => cal_widget_array[j].to_s ).CalendarWidget.HbWidget( :name => 'CalendarWidget' ).HbWidget( :name => 'contentContainer' ).HbLabel( :name => 'middleLabel' ).HbTextItem( :text => 'No entries for 7 days' ).drag_to_object(app.HsTrashBinWidget( :name => 'trashBin' ))
+        #calendar_widget_object = app.find(:text => 'No entries for 7 days')
+		#calendar_widget_object = app.find(HsWidgetHostVisual( :name => 'calendarwidgetplugin:21' ) )
+        #calendar_widget_object.tap_down
+        #calendar_widget_object = app.HbWidget( :name => 'controlLayer' ).find(:name => 'CalendarWidget')
+	#	calendar_widget_object = app.HbWidget( :name => 'controlLayer' ).find( :name => 'calendarwidgetplugin:21' )
+        #calendar_widget_object.drag_to_object(app.HsTrashBinWidget( :name => 'trashBin' ))
+        #        sleep 1
+	end
+  end
+  
   ##############################################################################################################################################
   # Calendar widget - NFT - Switch between HS and application library 50 times
   ##############################################################################################################################################
@@ -1481,4 +1994,22 @@
 	#end #rescue			
   end #test_editor_view_new
 
+  private
+
+      def draw_graph(log_data, cells, app_name)
+            count = log_data.logData.attribute('entryCount').to_i
+            data_rows = Hash.new
+            cells.each{|title| data_rows[title] = Array.new}
+            i = 0
+            while i < count do
+              data_rows.each_key{ |key| data_rows[key].push(log_data.logEntry(:id => i.to_s).attribute(key).to_i)}
+              i += 1
+            end
+
+            g = Gruff::Line.new
+            g.title = log_data.logData.name
+            data_rows.each_key{ |key| g.data(key, data_rows[key]) }
+            g.write(app_name+"_"+log_data.logData.name+".png")
+      end
+
 end # test class
--- a/calendarwidgetplugin/tsrc/matti_testcases/config/test_execution_profile.sip	Fri Sep 17 08:27:22 2010 +0300
+++ b/calendarwidgetplugin/tsrc/matti_testcases/config/test_execution_profile.sip	Mon Oct 04 00:05:38 2010 +0300
@@ -1,11 +1,16 @@
-
 TestClassCalendarWidget=1
 test_initialize_calendar_widget_test_env(TestClassCalendarWidget)=1
 test_calendar_widget_load_unload_widget_in_HomeScreen(TestClassCalendarWidget)=1
+test_calendar_widget_one_all_day_event_and_one_other_timed_event_overlapping(TestClassCalendarWidget)=0
 test_calendar_widget_one_event_today_one_event_tomorrow(TestClassCalendarWidget)=0
-test_calendar_widget_overlapping_events_fixed(TestClassCalendarWidget)=1
+test_calendar_widget_overlapping_events_fixed(TestClassCalendarWidget)=0
 test_calendar_widget_overlapping_events(TestClassCalendarWidget)=0
-test_calendar_widget_tapping_upcoming_event(TestClassCalendarWidget)=1
+test_calendar_widget_tapping_upcoming_event(TestClassCalendarWidget)=0
+test_calendar_widget_all_day_event_lasts_several_days(TestClassCalendarWidget)=0
 test_calendar_widget_no_events(TestClassCalendarWidget)=1
+test_calendar_widget_reminder_icon(TestClassCalendarWidget)=0
+test_calendar_widget_One_upcoming_event_in_7_day_away_and_one_in_8_day_away(TestClassCalendarWidget)=0
 test_Calendar_widget_NFT_Switch_between_HS_and_application_library_50_times(TestClassCalendarWidget)=0
-test_calendar_widget_One_upcoming_event_in_7_day_away_and_one_in_8_day_away(TestClassCalendarWidget)=0
\ No newline at end of file
+test_calendar_widget_NFT_Measure_memory_consumption_when_adding_seven_calendar_widgets_to_HS(TestClassCalendarWidget)=0
+test_delete_calendar_widgets(TestClassCalendarWidget)=0
+
--- a/rom/calendarwidget.iby	Fri Sep 17 08:27:22 2010 +0300
+++ b/rom/calendarwidget.iby	Mon Oct 04 00:05:38 2010 +0300
@@ -26,6 +26,7 @@
 data=ZPRIVATE\20022F35\import\widgetregistry\2002C35A\calendarwidgetplugin.qtplugin   private\20022f35\import\widgetregistry\2002C35A\calendarwidgetplugin.qtplugin
 data=ZPRIVATE\20022F35\import\widgetregistry\2002C35A\calendarwidgetplugin.manifest   private\20022f35\import\widgetregistry\2002C35A\calendarwidgetplugin.manifest
 data=ZPRIVATE\20022F35\import\widgetregistry\2002C35A\qtg_large_calendar.png          private\20022f35\import\widgetregistry\2002C35A\qtg_large_calendar.png
+data=ZPRIVATE\20022F35\import\widgetregistry\2002C35A\qtg_graf_hswidget_preview_calendar.svg      private\20022f35\import\widgetregistry\2002C35A\qtg_graf_hswidget_preview_calendar.svg
 data=ZPRIVATE\20022F35\import\widgetregistry\2002C35A\calendarwidgetplugin.xml        private\20022f35\import\widgetregistry\2002C35A\calendarwidgetplugin.xml
 
 data=DATAZ_\resource\gestures.xml    \resource\gestures.xml
--- a/sis/calendarwidget_stub.pkg	Fri Sep 17 08:27:22 2010 +0300
+++ b/sis/calendarwidget_stub.pkg	Mon Oct 04 00:05:38 2010 +0300
@@ -19,7 +19,7 @@
 &EN
 
 ; Standard SIS file header
-#{"calendarwidget"},(0x2002C35A),1,0,0
+#{"calendarwidget"},(0x2002C35A),1,0,0, TYPE=SA
 
 ; Non-localised vendor name
 :"Nokia Corporation"