From dfef2769aa2af447d80fc74f0d1210befacab31f Mon Sep 17 00:00:00 2001 From: Mohammed Sameer Date: Tue, 25 Dec 2012 03:35:44 +0200 Subject: [PATCH] Reworked ModeButton to use a Switch --- qml/ModeButton.qml | 93 +++++++++------------------------------------- 1 file changed, 18 insertions(+), 75 deletions(-) diff --git a/qml/ModeButton.qml b/qml/ModeButton.qml index 46e2105..e839de2 100644 --- a/qml/ModeButton.qml +++ b/qml/ModeButton.qml @@ -23,89 +23,32 @@ import QtQuick 1.1 import QtCamera 1.0 +import com.nokia.meego 1.0 -Rectangle { - id: button - property int mode: settings.mode +Item { + width: selector.width * selector.scale + height: selector.height * selector.scale - color: "black" - width: 60 - height: 120 - smooth: true - radius: width - border.width: 2 - border.color: "gray" + Switch { + id: selector + scale: 1.5 + anchors.centerIn: parent + checked: settings.mode == Camera.ImageMode - visible: cam.running && cam.idle && !cameraMode.animationRunning - - Rectangle { - id: highlighter - width: parent.width - height: parent.width - color: mouse.pressed ? "lightblue" : "white" - radius: parent.width - y: mode == Camera.VideoMode ? video.y : image.y - } - - Column { - Image { - id: image - width: button.width - height: width - property string released: "icon-m-viewfinder-camera" - property string active: "icon-m-viewfinder-camera-selected" - source: mouse.pressed ? "image://theme/" + released : button.mode == Camera.ImageMode ? "image://theme/" + active : "image://theme/" + released - } - - Image { - id: video - width: button.width - height: width - property string released: "icon-m-camera-video-record" - property string active: "icon-m-camera-video-selected" - source: mouse.pressed ? "image://theme/" + released : button.mode == Camera.VideoMode ? "image://theme/" + active : "image://theme/" + released - } - } - - MouseArea { - anchors.fill: parent - id: mouse - drag.target: highlighter - drag.axis: Drag.YAxis - drag.minimumY: 0 - drag.maximumY: parent.height / 2 - onReleased: { - if (!drag.active) { - if (mode == Camera.ImageMode) { - settings.mode = Camera.VideoMode; - } - else if (mode == Camera.VideoMode) { - settings.mode = Camera.ImageMode; - } - - return; - } - - if (mouse.y >= video.y) { - settings.mode = Camera.VideoMode; + onCheckedChanged: { + if (checked) { + settings.mode = Camera.ImageMode; } else { - settings.mode = Camera.ImageMode; + settings.mode = Camera.VideoMode; } } - onPressed: { - var y = mouse.y - highlighter.height / 2; - - if (y > drag.maximumY) { - y = drag.maximumY; - } - - else if (y < drag.minimumY) { - y = 0; - } - - highlighter.y = y + platformStyle: SwitchStyle { + thumbPressed: settings.mode == Camera.VideoMode ? "image://theme/icon-m-viewfinder-camera" : "image://theme/icon-m-camera-video" + switchOn: "" + switchOff: "" + thumb: settings.mode == Camera.VideoMode ? "image://theme/icon-m-camera-video" : "image://theme/icon-m-viewfinder-camera" } } } -- 2.25.1