← Back to team overview

ubuntu-touch-coreapps-reviewers team mailing list archive

[Merge] lp:~ahayzen/ubuntu-weather-app/reboot-day-delegate-expand into lp:ubuntu-weather-app/reboot

 

Andrew Hayzen has proposed merging lp:~ahayzen/ubuntu-weather-app/reboot-day-delegate-expand into lp:ubuntu-weather-app/reboot.

Commit message:
* First iteration of expandable day delegate

Requested reviews:
  Ubuntu Weather Developers (ubuntu-weather-dev)

For more details, see:
https://code.launchpad.net/~ahayzen/ubuntu-weather-app/reboot-day-delegate-expand/+merge/255264

* First iteration of expandable day delegate

This does not include a working "overview text", sunrise, sunset, pollen levels. These will hopefully come in a second mp :)
-- 
Your team Ubuntu Weather Developers is requested to review the proposed merge of lp:~ahayzen/ubuntu-weather-app/reboot-day-delegate-expand into lp:ubuntu-weather-app/reboot.
=== modified file 'app/components/DayDelegate.qml'
--- app/components/DayDelegate.qml	2015-03-18 00:05:43 +0000
+++ app/components/DayDelegate.qml	2015-04-06 14:04:33 +0000
@@ -21,18 +21,107 @@
 import Ubuntu.Components.ListItems 0.1 as ListItem
 
 ListItem.Standard {
-    height: units.gu(8)
+    id: dayDelegate
+    height: collapsedHeight
 
-    // TODO: will expand when clicked to reveal more info
+    property Flickable flickable
+    property int collapsedHeight: units.gu(8)
+    property int expandedHeight: collapsedHeight + units.gu(4) + extraInfoColumn.childrenRect.height
 
     property alias day: dayLabel.text
     property alias image: weatherImage.name
     property alias high: highLabel.text
     property alias low: lowLabel.text
 
+    property alias chanceOfRain: chanceOfRainForecast.chance
+    property alias humidity: humidityForecast.value
+    property alias pollen: pollenForecast.value
+    property alias sunrise: sunriseForecast.value
+    property alias sunset: sunsetForecast.value
+    property alias wind: windForecast.value
+    property alias uvIndex: uvIndexForecast.value
+
     // Standard divider is not full width so add a ThinDivider to the bottom
     showDivider: false
 
+    state: "normal"
+    states: [
+        State {
+            name: "normal"
+            PropertyChanges {
+                target: dayDelegate
+                height: collapsedHeight
+            }
+            StateChangeScript {
+                script: flickable.contentHeight -= expandedHeight - collapsedHeight
+            }
+        },
+        State {
+            name: "expanded"
+            PropertyChanges {
+                target: dayDelegate
+                height: expandedHeight
+            }
+            StateChangeScript {
+                script: flickable.contentHeight += expandedHeight - collapsedHeight
+            }
+            PropertyChanges {
+                target: expandedInfo
+                opacity: 1
+            }
+        }
+    ]
+
+    transitions: [
+        Transition {
+            from: "normal"
+            to: "expanded"
+            SequentialAnimation {
+                NumberAnimation {
+                    easing.type: Easing.InOutQuad
+                    properties: "height"
+                }
+                NumberAnimation {
+                    easing.type: Easing.InOutQuad
+                    properties: "opacity"
+                }
+            }
+            SequentialAnimation {
+                NumberAnimation {
+                    easing.type: Easing.InOutQuad
+                    property: "contentY";
+                    target: flickable;
+                    to: dayDelegate.y + parent.y < flickable.contentHeight - flickable.height + (expandedHeight - collapsedHeight) ? dayDelegate.y + parent.y : flickable.contentHeight - flickable.height + (expandedHeight - collapsedHeight)
+                }
+                ScriptAction {
+                    script: flickable.returnToBounds()
+                }
+            }
+
+        },
+        Transition {
+            from: "expanded"
+            to: "normal"
+            SequentialAnimation {
+                NumberAnimation {
+                    easing.type: Easing.InOutQuad
+                    properties: "opacity"
+                }
+                NumberAnimation {
+                    easing.type: Easing.InOutQuad
+                    properties: "height"
+                }
+            }
+            NumberAnimation {
+                easing.type: Easing.InOutQuad
+                properties: "contentY,contentHeight"
+                target: flickable
+            }
+        }
+    ]
+
+    onClicked: state = state === "normal" ? "expanded" : "normal"
+
     ListItem.ThinDivider {
         anchors {
             bottom: parent.bottom
@@ -45,7 +134,8 @@
             left: parent.left
             right: weatherImage.left
             rightMargin: units.gu(1)
-            verticalCenter: parent.verticalCenter
+            top: parent.top
+            topMargin: (collapsedHeight - dayLabel.height) / 2
         }
         elide: Text.ElideRight
         font.weight: Font.Light
@@ -56,7 +146,7 @@
         id: weatherImage
         anchors {
             horizontalCenter: parent.horizontalCenter
-            verticalCenter: parent.verticalCenter
+            verticalCenter: dayLabel.verticalCenter
         }
         height: units.gu(3)
         width: units.gu(3)
@@ -68,7 +158,7 @@
             left: weatherImage.right
             right: highLabel.left
             rightMargin: units.gu(1)
-            verticalCenter: parent.verticalCenter
+            verticalCenter: dayLabel.verticalCenter
         }
         elide: Text.ElideRight
         font.pixelSize: units.gu(2)
@@ -92,4 +182,77 @@
         height: units.gu(3)
         verticalAlignment: Text.AlignTop  // AlignTop appears to align bottom?
     }
+
+    Item {
+        id: expandedInfo
+        anchors {
+            bottom: parent.bottom
+            left: parent.left
+            right: parent.right
+            top: dayLabel.bottom
+            topMargin: units.gu(2)
+        }
+        opacity: 0
+        visible: opacity !== 0
+
+
+        Column {
+            id: extraInfoColumn
+            anchors {
+                centerIn: parent
+            }
+            spacing: units.gu(2)
+
+            // FIXME: extended-infomation_* aren't actually on device
+
+            // Overview text
+            Label {
+                id: chanceOfRainForecast
+                color: UbuntuColors.coolGrey
+                fontSize: "x-large"
+                horizontalAlignment: Text.AlignHCenter
+                text: i18n.tr("Chance of rain")
+                width: parent.width
+                visible: false  // FIXME: add overview text eg "Chance of flurries"
+
+                property int chance: 0
+            }
+
+            ForecastDetailsDelegate {
+                id: windForecast
+                forecast: i18n.tr("Winds")
+                imageSource: "../graphics/extended-information_wind.svg"
+            }
+
+            ForecastDetailsDelegate {
+                id: uvIndexForecast
+                imageSource: "../graphics/extended-information_uv-level.svg"
+                forecast: i18n.tr("UV Index")
+            }
+
+            ForecastDetailsDelegate {
+                id: pollenForecast
+                forecast: i18n.tr("Pollen")
+                // FIXME: need icon
+            }
+
+            ForecastDetailsDelegate {
+                id: humidityForecast
+                forecast: i18n.tr("Humidity")
+                imageSource: "../graphics/extended-information_humidity.svg"
+            }
+
+            ForecastDetailsDelegate {
+                id: sunriseForecast
+                forecast: i18n.tr("Sunrise")
+                // FIXME: need icon
+            }
+
+            ForecastDetailsDelegate {
+                id: sunsetForecast
+                forecast: i18n.tr("Sunset")
+                // FIXME: need icon
+            }
+        }
+    }
 }

=== added file 'app/components/ForecastDetailsDelegate.qml'
--- app/components/ForecastDetailsDelegate.qml	1970-01-01 00:00:00 +0000
+++ app/components/ForecastDetailsDelegate.qml	2015-04-06 14:04:33 +0000
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2015 Canonical Ltd
+ *
+ * This file is part of Ubuntu Weather App
+ *
+ * Ubuntu Weather App is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * Ubuntu Weather App is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+import QtQuick 2.3
+import Ubuntu.Components 1.1
+import Ubuntu.Components.ListItems 0.1 as ListItem
+
+Row {
+    height: icon.height
+    spacing: units.gu(2)
+    visible: value !== ""
+
+    property alias imageSource: icon.source
+    property alias forecast: forecastLabel.text
+    property alias value: forecastValue.text
+    
+    Icon {
+        id: icon
+        color: "#000"
+        height: units.gu(2)
+        width: height
+    }
+    
+    Label {
+        id: forecastLabel
+        elide: Text.ElideRight
+        width: units.gu(8)
+    }
+    
+    Label {
+        id: forecastValue
+        width: units.gu(10)
+    }
+}

=== added file 'app/graphics/extended-information_chance-of-rain.svg'
--- app/graphics/extended-information_chance-of-rain.svg	1970-01-01 00:00:00 +0000
+++ app/graphics/extended-information_chance-of-rain.svg	2015-04-06 14:04:33 +0000
@@ -0,0 +1,153 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="90"
+   height="90"
+   id="svg6138"
+   version="1.1"
+   inkscape:version="0.91pre2 r"
+   viewBox="0 0 90 90.000001"
+   sodipodi:docname="weather-chance-of-rain02.svg">
+  <defs
+     id="defs6140" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="5.0931702"
+     inkscape:cx="112.1011"
+     inkscape:cy="19.378885"
+     inkscape:document-units="px"
+     inkscape:current-layer="g6442"
+     showgrid="true"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:snap-global="true"
+     inkscape:snap-bbox="true"
+     inkscape:bbox-paths="true"
+     inkscape:snap-bbox-midpoints="true"
+     inkscape:snap-bbox-edge-midpoints="true"
+     inkscape:bbox-nodes="true"
+     inkscape:object-paths="true"
+     inkscape:snap-intersection-paths="true"
+     inkscape:object-nodes="true"
+     inkscape:snap-smooth-nodes="true"
+     inkscape:snap-midpoints="true"
+     inkscape:snap-others="true"
+     inkscape:snap-object-midpoints="true"
+     inkscape:snap-center="true"
+     showguides="false"
+     inkscape:guide-bbox="true">
+    <inkscape:grid
+       type="xygrid"
+       id="grid6700"
+       empspacing="6" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="90,87"
+       id="guide4064" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="89,84"
+       id="guide4066" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="3,69"
+       id="guide4068" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="6,60"
+       id="guide4070" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="87,58"
+       id="guide4072" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="84,47"
+       id="guide4074" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="77,3"
+       id="guide4076" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="81,6"
+       id="guide4078" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="81,25"
+       id="guide4080" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="78,9"
+       id="guide4082" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="79,81"
+       id="guide4084" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="9,39"
+       id="guide4086" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata6143">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-283.57144,-358.79068)">
+    <g
+       transform="translate(169.57144,223.42822)"
+       id="g5937"
+       inkscape:export-filename="envelope02.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <g
+       id="g6442"
+       transform="translate(-753.45981,336.4283)">
+      <rect
+         style="fill:none;stroke:none"
+         id="rect1687"
+         width="90"
+         height="90"
+         x="1037.0312"
+         y="22.362379" />
+      <path
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:125%;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#808080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="M 44.929688 12.066406 C 34.037288 12.066406 24.849688 14.943458 17.367188 20.697266 C 9.7896875 26.523909 6 33.624202 6 42 C 7.7011 40.603306 9.6530686 39.474739 11.855469 38.615234 C 14.075869 37.773637 16.4573 37.353516 19 37.353516 C 21.5427 37.353516 23.914587 37.773637 26.117188 38.615234 C 28.337486 39.474739 30.2989 40.603306 32 42 C 33.7011 40.603306 35.653069 39.474739 37.855469 38.615234 C 40.075769 37.773637 42.4573 37.353516 45 37.353516 C 47.5427 37.353516 49.914586 37.773637 52.117188 38.615234 C 54.337487 39.474739 56.2989 40.603306 58 42 L 58.654297 42 C 60.235137 40.784631 62.009869 39.776665 64 39 C 66.2203 38.158403 68.601831 37.738281 71.144531 37.738281 C 73.687231 37.738281 76.059119 38.158403 78.261719 39 C 80.268226 39.776743 82.052173 40.784465 83.634766 42 L 84 42 C 84 33.624202 80.210313 26.523909 72.632812 20.697266 C 65.055613 14.943458 55.822287 12.066406 44.929688 12.066406 z "
+         transform="translate(1037.0313,22.36238)"
+         id="path4181" />
+      <path
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:125%;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;text-indent:0;text-align:end;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:end;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m 1079.0312,28.363281 0,66.335938 0.01,0.09766 c 0.015,0.226687 0.022,0.780446 0.022,1.509766 0,1.918939 -0.4328,2.763898 -1.0039,3.289062 l -0.01,0.0059 -0.01,0.0078 c -0.6357,0.592743 -1.5903,1.007813 -3.4297,1.007813 -1.8313,0 -2.8017,-0.41364 -3.461,-1.015626 -0.5541,-0.519673 -0.9882,-1.37472 -0.9882,-3.294921 0,-0.72932 0.01,-1.281931 0.021,-1.501953 l -5.9863,-0.410157 c -0.041,0.598238 -0.035,1.18279 -0.035,1.91211 0,2.983063 0.8627,5.791367 2.9003,7.691407 l 0.01,0.008 0.01,0.006 c 1.9716,1.8129 4.6659,2.60547 7.5332,2.60547 2.8642,0 5.5555,-0.79304 7.5136,-2.61524 2.0532,-1.89396 2.9356,-4.70919 2.9356,-7.695307 0,-0.72932 0.01,-1.312724 -0.033,-1.904297 l 0.01,0.197265 0,-67.236328 -6,1 z"
+         id="path4225"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccscccscsccscccscsccccc" />
+    </g>
+  </g>
+</svg>

=== added file 'app/graphics/extended-information_humidity.svg'
--- app/graphics/extended-information_humidity.svg	1970-01-01 00:00:00 +0000
+++ app/graphics/extended-information_humidity.svg	2015-04-06 14:04:33 +0000
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="90"
+   height="90"
+   id="svg6138"
+   version="1.1"
+   inkscape:version="0.91pre2 r"
+   viewBox="0 0 90 90.000001"
+   sodipodi:docname="weather-chance-of-rain.svg">
+  <defs
+     id="defs6140" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="4.0745362"
+     inkscape:cx="90.550182"
+     inkscape:cy="25.205316"
+     inkscape:document-units="px"
+     inkscape:current-layer="g6442"
+     showgrid="true"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:snap-global="false"
+     inkscape:snap-bbox="true"
+     inkscape:bbox-paths="true"
+     inkscape:snap-bbox-midpoints="true"
+     inkscape:snap-bbox-edge-midpoints="true"
+     inkscape:bbox-nodes="true"
+     inkscape:object-paths="true"
+     inkscape:snap-intersection-paths="true"
+     inkscape:object-nodes="true"
+     inkscape:snap-smooth-nodes="true"
+     inkscape:snap-midpoints="true"
+     inkscape:snap-others="true"
+     inkscape:snap-object-midpoints="true"
+     inkscape:snap-center="true"
+     showguides="false"
+     inkscape:guide-bbox="true">
+    <inkscape:grid
+       type="xygrid"
+       id="grid6700"
+       empspacing="6" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="90,87"
+       id="guide4064" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="89,84"
+       id="guide4066" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="3,69"
+       id="guide4068" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="6,60"
+       id="guide4070" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="87,58"
+       id="guide4072" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="84,47"
+       id="guide4074" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="77,3"
+       id="guide4076" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="81,6"
+       id="guide4078" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="81,25"
+       id="guide4080" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="78,9"
+       id="guide4082" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="79,81"
+       id="guide4084" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="9,39"
+       id="guide4086" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata6143">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-283.57144,-358.79068)">
+    <g
+       transform="translate(169.57144,223.42822)"
+       id="g5937"
+       inkscape:export-filename="envelope02.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <g
+       id="g6442"
+       transform="translate(-753.45981,336.4283)">
+      <path
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"
+         d="M 45.046875 3 C 32.915975 27.594868 24.552722 55.021065 23.982422 56.908203 C 23.901522 57.129789 23.841578 57.361086 23.767578 57.585938 C 23.036878 59.796557 22.623047 62.152027 22.623047 64.607422 C 22.623047 76.973464 32.652638 86.998047 45.023438 86.998047 C 57.372742 86.972595 67.376953 76.959723 67.376953 64.609375 C 67.376953 62.155598 66.975594 59.797236 66.246094 57.587891 C 66.246094 57.587891 58.008075 29.900931 45.046875 3.0390625 L 45.046875 3.03125 L 45.046875 3.0195312 L 45.046875 3.0058594 L 45.046875 3 z M 44.996094 17.728516 C 54.458094 39.650002 60.503906 59.296875 60.503906 59.296875 A 5.9907304 5.9907304 0 0 0 60.558594 59.466797 C 61.095294 61.092212 61.386719 62.80886 61.386719 64.609375 C 61.386719 73.725917 54.126659 80.989079 45.005859 81.005859 C 35.879459 80.996009 28.613281 73.728301 28.613281 64.607422 C 28.613281 62.825026 28.910878 61.113375 29.455078 59.466797 A 5.9907304 5.9907304 0 0 0 29.457031 59.458984 C 29.615031 58.978962 29.665675 58.806709 29.609375 58.960938 A 5.9907304 5.9907304 0 0 0 29.716797 58.638672 C 30.156997 57.182234 36.199294 37.969649 44.996094 17.728516 z "
+         transform="translate(1037.0313,22.36238)"
+         id="path4253" />
+      <rect
+         style="fill:none;stroke:none"
+         id="rect1687"
+         width="90"
+         height="90"
+         x="1037.0312"
+         y="22.362379" />
+    </g>
+  </g>
+</svg>

=== added file 'app/graphics/extended-information_uv-level.svg'
--- app/graphics/extended-information_uv-level.svg	1970-01-01 00:00:00 +0000
+++ app/graphics/extended-information_uv-level.svg	2015-04-06 14:04:33 +0000
@@ -0,0 +1,270 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="90"
+   height="90"
+   id="svg6138"
+   version="1.1"
+   inkscape:version="0.91pre2 r"
+   viewBox="0 0 90 90.000001"
+   sodipodi:docname="weather-uv-level.svg">
+  <defs
+     id="defs6140">
+    <linearGradient
+       id="linearGradient3899">
+      <stop
+         id="stop4292"
+         offset="0"
+         style="stop-color:#fbf7e3;stop-opacity:1" />
+      <stop
+         id="stop4294"
+         offset="1"
+         style="stop-color:#c6b386;stop-opacity:1" />
+    </linearGradient>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7.9580785"
+     inkscape:cx="32.979067"
+     inkscape:cy="45.789944"
+     inkscape:document-units="px"
+     inkscape:current-layer="g6442"
+     showgrid="true"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:snap-global="true"
+     inkscape:snap-bbox="true"
+     inkscape:bbox-paths="true"
+     inkscape:snap-bbox-midpoints="true"
+     inkscape:snap-bbox-edge-midpoints="true"
+     inkscape:bbox-nodes="true"
+     inkscape:object-paths="true"
+     inkscape:snap-intersection-paths="true"
+     inkscape:object-nodes="true"
+     inkscape:snap-smooth-nodes="true"
+     inkscape:snap-midpoints="true"
+     inkscape:snap-others="true"
+     inkscape:snap-object-midpoints="true"
+     inkscape:snap-center="true"
+     showguides="true"
+     inkscape:guide-bbox="true">
+    <inkscape:grid
+       type="xygrid"
+       id="grid6700"
+       empspacing="6" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="90,87"
+       id="guide4064" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="89,84"
+       id="guide4066" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="3,69"
+       id="guide4068" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="6,60"
+       id="guide4070" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="87,58"
+       id="guide4072" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="84,47"
+       id="guide4074" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="77,3"
+       id="guide4076" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="81,6"
+       id="guide4078" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="81,25"
+       id="guide4080" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="78,9"
+       id="guide4082" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="79,81"
+       id="guide4084" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="9,39"
+       id="guide4086" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata6143">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-283.57144,-358.79068)">
+    <g
+       transform="translate(169.57144,223.42822)"
+       id="g5937"
+       inkscape:export-filename="envelope02.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <g
+       id="g6442"
+       transform="translate(-753.45981,336.4283)">
+      <rect
+         style="fill:none;stroke:none"
+         id="rect1687"
+         width="90"
+         height="90"
+         x="1037.0312"
+         y="22.362379" />
+      <path
+         style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m 1054.1015,75.51863 a 33.872092,33.872092 0 0 0 0.5547,2.339844 33.872092,33.872092 0 0 1 -0.5547,-2.339844 z"
+         id="path4162" />
+      <path
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.25;marker:none;enable-background:accumulate"
+         d="M 45 12 A 33.00005 33.00005 0 0 0 12 45 A 33.00005 33.00005 0 0 0 45 78 A 33.00005 33.00005 0 0 0 78 45 A 33.00005 33.00005 0 0 0 45 12 z M 45 18 A 27 27 0 0 1 72 45 A 27 27 0 0 1 45 72 A 27 27 0 0 1 18 45 A 27 27 0 0 1 45 18 z "
+         transform="translate(1037.0313,22.36238)"
+         id="path4189" />
+      <path
+         sodipodi:nodetypes="ccsssccc"
+         inkscape:transform-center-y="-37.504247"
+         inkscape:transform-center-x="-0.0125"
+         inkscape:connector-curvature="0"
+         id="path2194-5"
+         d="m 1088.2477,35.36157 c 0,0 -2.5383,-5.872205 -6.1954,-11.007637 0,0 0,0 -0.01,0.0017 0,0 0,0.0017 -0.01,0.0024 0,0 -0.01,0.002 -0.01,0.0026 0,0 -0.01,0.0017 -0.01,0.0017 -3.7738,5.416839 -6.1725,11 -6.1725,11 z"
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;enable-background:accumulate" />
+      <path
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"
+         d="m 1103.4153,42.757091 c 0,0 0.7378,-6.354629 0.1384,-12.630594 0,0 0,0 -0.01,-0.0035 0,0 -9e-4,0.0015 -0.01,-0.0029 0,0 -0.01,-0.0033 -0.01,-0.0027 0,0 -0.01,-0.0035 -0.01,-0.0035 -5.9767,2.80422 -10.8456,6.440029 -10.8456,6.440029 z"
+         id="path4192"
+         inkscape:connector-curvature="0"
+         inkscape:transform-center-x="-16.197006"
+         inkscape:transform-center-y="-30.926886"
+         sodipodi:nodetypes="ccsssccc" />
+      <path
+         sodipodi:nodetypes="ccsssccc"
+         inkscape:transform-center-y="-16.173909"
+         inkscape:transform-center-x="-30.9307"
+         inkscape:connector-curvature="0"
+         id="path4194"
+         d="m 1112.853,56.745599 c 0,0 3.8163,-5.13437 6.4352,-10.869215 0,0 0,0 -0.01,-0.008 0,0 0,8.49e-4 -0.01,-0.0075 0,0 -0.01,-0.0079 -0.01,-0.0073 0,0 -0.01,-0.008 -0.01,-0.008 -6.578,-0.559824 -12.6125,0.154429 -12.6125,0.154429 z"
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;enable-background:accumulate" />
+      <path
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"
+         d="m 1114.0321,73.578853 c 0,0 5.8722,-2.538345 11.0076,-6.195417 0,0 0,0 0,-0.01193 0,0 -5e-4,7.35e-4 -0.01,-0.0115 0,0 0,-0.01184 0,-0.01132 0,0 0,-0.01193 0,-0.01193 -5.4168,-3.773822 -11,-6.172511 -11,-6.172511 z"
+         id="path4196"
+         inkscape:connector-curvature="0"
+         inkscape:transform-center-x="-37.50345"
+         inkscape:transform-center-y="0.0091698086"
+         sodipodi:nodetypes="ccsssccc" />
+      <path
+         sodipodi:nodetypes="ccsssccc"
+         inkscape:transform-center-y="16.194334"
+         inkscape:transform-center-x="-30.9356"
+         inkscape:connector-curvature="0"
+         id="path4198"
+         d="m 1106.6366,88.746428 c 0,0 6.3546,0.737829 12.6305,0.138412 0,0 0,0 0.01,-0.01033 0,0 -8e-4,3.87e-4 0,-0.01496 0,0 0.01,-0.01025 0.01,-0.0098 0,0 0.01,-0.01033 0.01,-0.01033 -2.8042,-5.976626 -6.44,-10.845552 -6.44,-10.845552 z"
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;enable-background:accumulate" />
+      <path
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"
+         d="m 1092.6481,98.184183 c 0,0 5.1343,3.816277 10.8691,6.435117 0,0 0,0 0.014,-0.004 0,0 -8e-4,-7e-5 0.01,-0.013 0,0 0.014,-0.004 0.014,-0.003 0,0 0.014,-0.004 0.014,-0.004 0.5598,-6.578013 -0.1544,-12.612527 -0.1544,-12.612527 z"
+         id="path4200"
+         inkscape:connector-curvature="0"
+         inkscape:transform-center-x="-16.184519"
+         inkscape:transform-center-y="30.938658"
+         sodipodi:nodetypes="ccsssccc" />
+      <path
+         sodipodi:nodetypes="ccsssccc"
+         inkscape:transform-center-y="37.507651"
+         inkscape:transform-center-x="0.003949878"
+         inkscape:connector-curvature="0"
+         id="path4202"
+         d="m 1075.8148,99.363269 c 0,0 2.5383,5.872141 6.1954,11.007521 0,0 0,0 0.014,0.004 0,0 -7e-4,-4.6e-4 0.015,-0.006 0,0 0.014,0.004 0.014,0.004 0,0 0.014,0.004 0.014,0.004 3.7738,-5.41683 6.1726,-10.999969 6.1726,-10.999969 z"
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;enable-background:accumulate" />
+      <path
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"
+         d="m 1060.6472,91.967738 c 0,0 -0.7378,6.354573 -0.1384,12.630492 0,0 0,0 0.01,0.0105 0,0 -3e-4,-7.4e-4 0.016,0.002 0,0 0.01,0.0105 0.01,0.0105 0,0 0.01,0.0105 0.01,0.0105 5.9766,-2.80422 10.8456,-6.439956 10.8456,-6.439956 z"
+         id="path4204"
+         inkscape:connector-curvature="0"
+         inkscape:transform-center-x="16.194006"
+         inkscape:transform-center-y="30.937355"
+         sodipodi:nodetypes="ccsssccc" />
+      <path
+         sodipodi:nodetypes="ccsssccc"
+         inkscape:transform-center-y="16.184506"
+         inkscape:transform-center-x="30.94415"
+         inkscape:connector-curvature="0"
+         id="path4206"
+         d="m 1051.2094,77.97922 c 0,0 -3.8162,5.134322 -6.4351,10.869127 0,0 0,0 0,0.01409 0,0 2e-4,-7.9e-4 0.013,0.0097 0,0 0,0.01409 0,0.01409 0,0 0,0.01409 0,0.01409 6.578,0.559774 12.6126,-0.154365 12.6126,-0.154365 z"
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;enable-background:accumulate" />
+      <path
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"
+         d="m 1050.0303,61.145908 c 0,0 -5.8721,2.538353 -11.0075,6.19539 0,0 0,0 -0.01,0.0122 0,0 5e-4,-5.85e-4 0.01,0.0149 0,0 -0.01,0.0122 -0.01,0.0122 0,0 -0.01,0.0122 -0.01,0.0122 5.4168,3.773778 11,6.172616 11,6.172616 z"
+         id="path4208"
+         inkscape:connector-curvature="0"
+         inkscape:transform-center-x="37.5147"
+         inkscape:transform-center-y="-0.0067180911"
+         sodipodi:nodetypes="ccsssccc" />
+      <path
+         sodipodi:nodetypes="ccsssccc"
+         inkscape:transform-center-y="-16.199665"
+         inkscape:transform-center-x="30.94315"
+         inkscape:connector-curvature="0"
+         id="path4210"
+         d="m 1057.4258,45.978282 c 0,0 -6.3545,-0.737771 -12.6304,-0.138384 0,0 0,0 -0.015,0.0056 0,0 7e-4,-2.57e-4 0,0.0179 0,0 -0.015,0.0056 -0.015,0.0056 0,0 -0.015,0.0056 -0.015,0.0056 2.8042,5.976587 6.44,10.845642 6.44,10.845642 z"
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;enable-background:accumulate" />
+      <path
+         style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;enable-background:accumulate"
+         d="m 1071.4144,36.540483 c 0,0 -5.1343,-3.816179 -10.8691,-6.435044 0,0 0,0 -0.016,-0.0026 0,0 7e-4,1.27e-4 -0.01,0.0155 0,0 -0.016,-0.0026 -0.016,-0.0026 0,0 -0.016,-0.0026 -0.016,-0.0026 -0.5598,6.577976 0.1544,12.612601 0.1544,12.612601 z"
+         id="path4212"
+         inkscape:connector-curvature="0"
+         inkscape:transform-center-x="16.187519"
+         inkscape:transform-center-y="-30.94809"
+         sodipodi:nodetypes="ccsssccc" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:31.51123047px;line-height:125%;font-family:Ubuntu;-inkscape-font-specification:'Ubuntu Medium';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#808080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         x="1103.2705"
+         y="79.316757"
+         id="text4214"
+         sodipodi:linespacing="125%"><tspan
+           sodipodi:role="line"
+           id="tspan4216"
+           x="1103.2705"
+           y="79.316757">UV</tspan></text>
+    </g>
+  </g>
+</svg>

=== added file 'app/graphics/extended-information_wind.svg'
--- app/graphics/extended-information_wind.svg	1970-01-01 00:00:00 +0000
+++ app/graphics/extended-information_wind.svg	2015-04-06 14:04:33 +0000
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/";
+   xmlns:cc="http://creativecommons.org/ns#";
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#";
+   xmlns:svg="http://www.w3.org/2000/svg";
+   xmlns="http://www.w3.org/2000/svg";
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd";
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape";
+   width="90"
+   height="90"
+   id="svg6138"
+   version="1.1"
+   inkscape:version="0.91pre2 r"
+   viewBox="0 0 90 90.000001"
+   sodipodi:docname="weather-chance-of-wind02.svg">
+  <defs
+     id="defs6140" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="3.2596289"
+     inkscape:cx="81.435648"
+     inkscape:cy="24.842587"
+     inkscape:document-units="px"
+     inkscape:current-layer="g6442"
+     showgrid="true"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:snap-global="true"
+     inkscape:snap-bbox="true"
+     inkscape:bbox-paths="true"
+     inkscape:snap-bbox-midpoints="true"
+     inkscape:snap-bbox-edge-midpoints="true"
+     inkscape:bbox-nodes="true"
+     inkscape:object-paths="true"
+     inkscape:snap-intersection-paths="true"
+     inkscape:object-nodes="true"
+     inkscape:snap-smooth-nodes="true"
+     inkscape:snap-midpoints="true"
+     inkscape:snap-others="true"
+     inkscape:snap-object-midpoints="true"
+     inkscape:snap-center="true"
+     showguides="false"
+     inkscape:guide-bbox="true">
+    <inkscape:grid
+       type="xygrid"
+       id="grid6700"
+       empspacing="6" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="90,87"
+       id="guide4064" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="89,84"
+       id="guide4066" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="3,69"
+       id="guide4068" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="6,60"
+       id="guide4070" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="87,58"
+       id="guide4072" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="84,47"
+       id="guide4074" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="77,3"
+       id="guide4076" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="81,6"
+       id="guide4078" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="81,25"
+       id="guide4080" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="78,9"
+       id="guide4082" />
+    <sodipodi:guide
+       orientation="0,1"
+       position="79,81"
+       id="guide4084" />
+    <sodipodi:guide
+       orientation="1,0"
+       position="9,39"
+       id="guide4086" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata6143">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"; />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-283.57144,-358.79068)">
+    <g
+       transform="translate(169.57144,223.42822)"
+       id="g5937"
+       inkscape:export-filename="envelope02.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <g
+       id="g6442"
+       transform="translate(-753.45981,336.4283)">
+      <rect
+         style="fill:none;stroke:none"
+         id="rect1687"
+         width="90"
+         height="90"
+         x="1037.0312"
+         y="22.362379" />
+      <path
+         style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:125%;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;text-indent:0;text-align:end;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:end;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+         d="m 75.279297,28.75 c -1.0334,0 -2.070116,0.17314 -3.103516,0.517578 -1.0332,0.301421 -1.957037,0.799407 -2.773437,1.488281 -0.7749,0.645859 -1.426106,1.497766 -1.941406,2.574219 -0.193801,0.386934 -0.311535,0.83777 -0.427735,1.285156 l 4.048828,2.333985 c 0.066,-0.47516 0.09082,-0.97049 0.265625,-1.34961 0.2583,-0.516687 0.599203,-0.93497 1.033203,-1.236328 0.4327,-0.344501 0.877363,-0.575907 1.351563,-0.705078 0.5166,-0.172251 1.013028,-0.253906 1.486328,-0.253906 0.9909,0 1.914591,0.365704 2.775391,1.097656 0.9043,0.688938 1.349609,1.71392 1.349609,3.091797 0,1.463904 -0.463956,2.57267 -1.410156,3.304688 -0.9054,0.731951 -2.2137,1.097656 -3.9375,1.097656 l -0.90625,0 -5.109375,0 -2.976563,0 -53.367237,0 0,0.0039 c -1.118972,8.07e-4 -2.232917,0.175074 -3.2753908,0.546875 -1.0812,0.374449 -2.0898969,0.990457 -2.9042969,1.802734 -0.8511,0.837684 -1.4685875,1.874775 -1.8671875,2.980469 -0.422,1.158702 -0.5898438,2.388837 -0.5898438,3.673828 0,1.287641 0.1681907,2.523171 0.5878907,3.6875 l 0,0.0059 0,0.0078 c 0.4008,1.096658 1.0169625,2.124759 1.8515625,2.960938 l 0.011719,0.01172 0.011719,0.01172 c 0.8122,0.795376 1.8055406,1.402256 2.8691406,1.785156 l 0.023437,0.0059 0.019531,0.0078 c 1.041,0.357709 2.145119,0.521485 3.261719,0.521485 l 0,0.002 41.3438,0 2.980469,0 5.115234,0 0.908203,0 c 1.7259,0 3.034806,0.36677 3.941406,1.099609 0.9473,0.732906 1.414063,1.842913 1.414063,3.308594 0,1.379548 -0.446163,2.403976 -1.351563,3.09375 -0.8619,0.73284 -1.787297,1.099609 -2.779297,1.099609 -0.4739,0 -0.970981,-0.08145 -1.488281,-0.253906 -0.4746,-0.129329 -0.920316,-0.362111 -1.353515,-0.707031 -0.434501,-0.301723 -0.776457,-0.720967 -1.035157,-1.238282 -0.1741,-0.379579 -0.200625,-0.873874 -0.265625,-1.349609 l -4.052734,2.335938 c 0.1164,0.44793 0.231781,0.899706 0.425781,1.287109 0.5159,1.07776 1.169413,1.931483 1.945313,2.578125 0.8175,0.689709 1.742843,1.188446 2.777343,1.490234 1.0347,0.344855 2.072722,0.517579 3.107422,0.517579 0.7758,0 1.660344,-0.153292 2.652344,-0.455079 1.0346,-0.258658 1.998997,-0.75733 2.904297,-1.490234 0.906,-0.68971 1.658365,-1.634709 2.259766,-2.841797 0.605199,-1.163958 0.910156,-2.648384 0.910156,-4.458984 l 0.0039,0 C 72,60.363013 70.961878,57.768642 68.892578,56.259766 66.823378,54.750954 63.956869,54 60.292969,54 l -48.6563,0 0,0.0098 c -0.5345,0 -0.948916,-0.07592 -1.291016,-0.191407 -0.2996,-0.111208 -0.4927686,-0.23897 -0.6679686,-0.408203 -0.1552,-0.158288 -0.3061656,-0.371439 -0.4472656,-0.751953 l 0,-0.0039 c -0.1279,-0.355148 -0.2324219,-0.897858 -0.2324219,-1.650391 0,-0.752625 0.1039625,-1.28965 0.2265625,-1.625 l 0,-0.0059 0,-0.0078 c 0.1465,-0.406946 0.2963938,-0.609758 0.4335938,-0.74414 l 0.011719,-0.01172 0.011719,-0.01172 c 0.1749,-0.175302 0.3458723,-0.286102 0.6386723,-0.386718 l 0.01953,-0.0078 0.02148,-0.0078 C 10.695178,48.075095 11.107669,48 11.636669,48 l 60.669972,0 c 3.6595,0 6.523043,-0.750829 8.589843,-2.257812 C 82.963184,44.23514 84,41.644264 84,37.984375 l -0.0039,0 c 0,-1.808407 -0.303703,-3.290578 -0.908203,-4.453125 -0.6007,-1.205626 -1.352913,-2.149016 -2.257813,-2.837891 -0.9043,-0.732015 -1.86719,-1.229936 -2.90039,-1.488281 C 76.938787,28.903658 76.054197,28.75 75.279297,28.75 Z"
+         transform="translate(1037.0313,22.36238)"
+         id="path4178"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="sccccccccscscsccccccccsccccccccccccccscscsccccccccscccccssccccccscccccccccssccccccs" />
+      <path
+         sodipodi:nodetypes="ccccsccccccccscscscccccsscc"
+         inkscape:connector-curvature="0"
+         id="path4171"
+         d="m 1091.0274,48.500103 c 0,-1.780677 -0.2989,-3.239878 -0.8941,-4.384599 -0.5915,-1.187139 -1.3323,-2.116397 -2.2233,-2.794708 -0.8904,-0.720792 -1.8392,-1.211305 -2.8567,-1.465688 -0.9756,-0.2968 -1.8456,-0.44714 -2.6087,-0.44714 -1.0176,0 -2.0383,0.170054 -3.0558,0.50921 -1.0175,0.2968 -1.9269,0.787377 -2.7308,1.465687 -0.7631,0.635956 -1.4055,1.473955 -1.9129,2.533903 -0.1908,0.381001 -0.3053,0.826425 -0.4198,1.266952 l 3.9862,2.297899 c 0.064,-0.467873 0.089,-0.955778 0.2607,-1.329084 0.2544,-0.508765 0.5915,-0.920483 1.0188,-1.21722 0.4261,-0.339219 0.8637,-0.568417 1.3305,-0.695608 0.5087,-0.16961 0.9978,-0.248405 1.4639,-0.248405 0.9756,0 1.885,0.359888 2.7327,1.080617 0.8904,0.678374 1.3292,1.686427 1.3292,3.043176 0,1.441458 -0.4579,2.533521 -1.3896,3.254314 -0.8916,0.720728 -2.1794,1.080616 -3.8768,1.080616 l -0.8929,0 -5.031,0 -2.9311,0 -17.2945,0 0,5.912355 24.4865,0 c 3.6033,0 6.4232,-0.739426 8.4582,-2.223302 2.0351,-1.48394 3.0552,-4.035204 3.0552,-7.638975 z"
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:125%;font-family:Ubuntu;-inkscape-font-specification:Ubuntu;text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;fill:#808080;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    </g>
+  </g>
+</svg>

=== modified file 'app/ui/HomePage.qml'
--- app/ui/HomePage.qml	2015-03-18 00:05:43 +0000
+++ app/ui/HomePage.qml	2015-04-06 14:04:33 +0000
@@ -87,6 +87,12 @@
         height: parent.height
         contentWidth: parent.width
 
+        Behavior on contentHeight {
+            NumberAnimation {
+
+            }
+        }
+
         PullToRefresh {
             id: pullToRefresh
             parent: locationFlickable
@@ -105,8 +111,6 @@
             anchors.fill: parent
             width: parent.width
             height: childrenRect.height
-            contentWidth: parent.width
-            contentHeight: childrenRect.height
             model: weatherApp.locationsList.length
             // TODO with snapMode, currentIndex is not properly set and setting currentIndex fails
             //snapMode: ListView.SnapOneItem

=== modified file 'app/ui/LocationPane.qml'
--- app/ui/LocationPane.qml	2015-03-13 19:23:07 +0000
+++ app/ui/LocationPane.qml	2015-04-06 14:04:33 +0000
@@ -21,7 +21,7 @@
 import Ubuntu.Components.ListItems 0.1 as ListItem
 import "../components"
 
-Rectangle {
+Item {
     id: locationItem
     /*
       Data properties
@@ -40,6 +40,14 @@
     height: childrenRect.height
     anchors.fill: parent.fill
 
+    function emptyIfUndefined(variable, append) {
+        if (append === undefined) {
+            append = ""
+        }
+
+        return variable === undefined ? "" : variable + append
+    }
+
     /*
       Calculates the height of all location data components, to set the Flickable.contentHeight right.
     */
@@ -97,7 +105,12 @@
                     day: formatTimestamp(forecasts[x].date, 'dddd'),
                     low: Math.round(forecasts[x][tempUnits].tempMin).toString() + settings.tempScale,
                     high: (forecasts[x][tempUnits].tempMax !== undefined) ? Math.round(forecasts[x][tempUnits].tempMax).toString() + settings.tempScale : "",
-                    image: (forecasts[x].icon !== undefined && iconMap[forecasts[x].icon] !== undefined) ? iconMap[forecasts[x].icon] : ""
+                    image: (forecasts[x].icon !== undefined && iconMap[forecasts[x].icon] !== undefined) ? iconMap[forecasts[x].icon] : "",
+                    chanceOfRain: forecasts[x].propPrecip === undefined ? -1 : forecasts[x].propPrecip,
+                    humidity: emptyIfUndefined(forecasts[x].humidity, "%"),
+                    uvIndex: emptyIfUndefined(forecasts[x].uv),
+                    wind: forecasts[x][tempUnits].windSpeed === undefined || forecasts[x].windDir === undefined
+                                ? "" : Math.round(forecasts[x][tempUnits].windSpeed) + settings.windUnits + " " + forecasts[x].windDir
                 }
                 mainPageWeekdayListView.model.append(dayData);
             }
@@ -173,10 +186,21 @@
             id: mainPageWeekdayListView
             model: ListModel{}
             DayDelegate {
+                flickable: locationFlickable
+
                 day: model.day
                 high: model.high
                 image: model.image
                 low: model.low
+
+                chanceOfRain: model.chanceOfRain
+                humidity: model.humidity
+                // TODO: extra from API
+                //pollen: model.pollen
+                //sunrise: model.sunrise
+                //sunset: model.sunset
+                wind: model.wind
+                uvIndex: model.uvIndex
             }
         }
     }

=== modified file 'po/com.ubuntu.weather.pot'
--- po/com.ubuntu.weather.pot	2015-04-04 07:59:32 +0000
+++ po/com.ubuntu.weather.pot	2015-04-06 14:04:33 +0000
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: ubuntu-weather-app\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-04-04 09:58+0200\n"
+"POT-Creation-Date: 2015-04-06 14:30+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@xxxxxx>\n"
@@ -18,6 +18,34 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
+#: ../app/components/DayDelegate.qml:214
+msgid "Chance of rain"
+msgstr ""
+
+#: ../app/components/DayDelegate.qml:223
+msgid "Winds"
+msgstr ""
+
+#: ../app/components/DayDelegate.qml:230
+msgid "UV Index"
+msgstr ""
+
+#: ../app/components/DayDelegate.qml:235
+msgid "Pollen"
+msgstr ""
+
+#: ../app/components/DayDelegate.qml:241
+msgid "Humidity"
+msgstr ""
+
+#: ../app/components/DayDelegate.qml:247
+msgid "Sunrise"
+msgstr ""
+
+#: ../app/components/DayDelegate.qml:253
+msgid "Sunset"
+msgstr ""
+
 #: ../app/components/HomeTempInfo.qml:38
 msgid "Today"
 msgstr ""


Follow ups