Cleaned up unused icon ids
[harmattan/cameraplus] / qml / PostCaptureItem.qml
index f9c4a85..abe6fa9 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
-@IMPORT_QT_QUICK@
-import com.nokia.meego 1.1
+import QtQuick 2.0
 import CameraPlus 1.0
 
 Item {
     id: postCaptureItem
+
     property bool isVideo: itemData.type.search("nmm#Video") > 0
     property alias error: image.error
     property variant itemData: item
     property bool playing: loader.source != ""
     signal clicked
+    clip: true
 
     function startPlayback() {
         loader.source = Qt.resolvedUrl("VideoPlayerPage.qml")
@@ -57,21 +58,40 @@ Item {
         onFinished: loader.source = ""
     }
 
-    QuillItem {
+    FullScreenThumbnail {
         id: image
-        width: parent.width - 10
-        height: parent.height
+        source: itemData.url
+        mimeType: itemData.mimeType
+        rotation: calculateRotation(orientation.orientation)
+        width: isPortrait ? parent.height : parent.width - 10
+        height: isPortrait ? parent.width - 10 : parent.height
         anchors.centerIn: parent
-        Component.onCompleted: initialize(itemData.url, itemData.mimetype)
         visible: loader.source == ""
+        property bool isPortrait: rotation == -90
 
-        Label {
-            anchors.fill: parent
-            visible: image.error
-            text: qsTr("Failed to load preview")
-            verticalAlignment: Text.AlignVCenter
-            horizontalAlignment: Text.AlignHCenter
-            font.pixelSize: 32
+        Behavior on width {
+            PropertyAnimation { duration: 100 }
+        }
+
+        Behavior on height {
+            PropertyAnimation { duration: 100 }
+        }
+
+        Behavior on rotation {
+            PropertyAnimation { duration: 100 }
+        }
+
+        function calculateRotation(orientation) {
+            switch (orientation) {
+                case CameraOrientation.InvertedLandscape:
+                case CameraOrientation.Landscape:
+                    return 0
+                case CameraOrientation.InvertedPortrait:
+                case CameraOrientation.Portrait:
+                    return -90
+                default:
+                    return 0
+            }
         }
 
         MouseArea {
@@ -81,13 +101,27 @@ Item {
             onClicked: postCaptureItem.clicked()
         }
 
-        ToolIcon {
-            // TODO: this is overlapping with error.
-            id: playIcon
+        Column {
             anchors.centerIn: parent
-            iconSource: "image://theme/icon-s-music-video-play"
-            visible: isVideo
-            onClicked: startPlayback()
+            width: parent.width
+
+            CameraLabel {
+                id: errorLabel
+                width: parent.width
+                visible: image.error
+                text: qsTr("Failed to load preview")
+                verticalAlignment: Text.AlignVCenter
+                horizontalAlignment: Text.AlignHCenter
+                font.pixelSize: 32
+            }
+
+            CameraToolIcon {
+                id: playIcon
+                anchors.horizontalCenter: parent.horizontalCenter
+                iconId: cameraTheme.videoPlayIconId
+                visible: isVideo
+                onClicked: startPlayback()
+            }
         }
     }
 }