From: Mohammed Sameer Date: Thu, 1 Aug 2013 00:23:50 +0000 (+0300) Subject: Reworked CheckButton API X-Git-Url: http://cgit.sxemacs.org/?p=harmattan%2Fcameraplus;a=commitdiff_plain;h=0a6854919642d691208c88cf23b60bd3a553bf63 Reworked CheckButton API CheckButton has one roperty "checked". It will also highlight the background of the checked button --- diff --git a/qml/CheckButton.qml b/qml/CheckButton.qml index ac3335e..e80c91f 100644 --- a/qml/CheckButton.qml +++ b/qml/CheckButton.qml @@ -24,10 +24,25 @@ import QtQuick 2.0 CameraToolIcon { id: button - property string normalIconId - property string checkedIconId - property int value: -1 - property int savedValue: -1 + property bool checked: false - iconId: savedValue == value ? checkedIconId : normalIconId + Rectangle { + anchors.centerIn: parent + width: parent.width * 0.8 + height: parent.height * 0.8 + color: "blue" + opacity: checked ? 0.5 : 0.0 + visible: opacity > 0.0 + z: -1 + radius: width / 2 + border.color: "steelblue" + border.width: 1 + smooth: true + Behavior on opacity { + PropertyAnimation { + duration: 20 + easing.type: Easing.OutQuad + } + } + } } diff --git a/qml/FlashButton.qml b/qml/FlashButton.qml index 084b56e..a70c42e 100644 --- a/qml/FlashButton.qml +++ b/qml/FlashButton.qml @@ -36,32 +36,24 @@ CameraToolIcon { verticalAlignment: Text.AlignVCenter }, CheckButton { - normalIconId: Data.flashIcon(value) - checkedIconId: Data.flashPressedIcon(value) - onClicked: settings.imageFlashMode = value - value: Flash.Auto - savedValue: settings.imageFlashMode + iconId: Data.flashIcon(Flash.Auto) + onClicked: settings.imageFlashMode = Flash.Auto + checked: settings.imageFlashMode == Flash.Auto }, CheckButton { - normalIconId: Data.flashIcon(value) - checkedIconId: Data.flashPressedIcon(value) - onClicked: settings.imageFlashMode = value - value: Flash.On - savedValue: settings.imageFlashMode + iconId: Data.flashIcon(Flash.On) + onClicked: settings.imageFlashMode = Flash.On + checked: settings.imageFlashMode == Flash.On }, CheckButton { - normalIconId: Data.flashIcon(value) - checkedIconId: Data.flashPressedIcon(value) - onClicked: settings.imageFlashMode = value - value: Flash.Off - savedValue: settings.imageFlashMode + iconId: Data.flashIcon(Flash.Off) + onClicked: settings.imageFlashMode = Flash.Off + checked: settings.imageFlashMode == Flash.Off }, CheckButton { - normalIconId: Data.flashIcon(value) - checkedIconId: Data.flashPressedIcon(value) - onClicked: settings.imageFlashMode = value - value: Flash.RedEye - savedValue: settings.imageFlashMode + iconId: Data.flashIcon(Flash.RedEye) + onClicked: settings.imageFlashMode = Flash.RedEye + checked: settings.imageFlashMode == Flash.RedEye } ] } diff --git a/qml/ImageColorFilterButton.qml b/qml/ImageColorFilterButton.qml index 8b01d0f..49ba5fe 100644 --- a/qml/ImageColorFilterButton.qml +++ b/qml/ImageColorFilterButton.qml @@ -35,46 +35,34 @@ CameraToolIcon { verticalAlignment: Text.AlignVCenter }, CheckButton { - normalIconId: Data.cfIcon(value) - checkedIconId: Data.cfSelectedIcon(value) - value: ColorTone.Normal - savedValue: settings.imageColorFilter - onClicked: settings.imageColorFilter = value + iconId: Data.cfIcon(ColorTone.Normal) + onClicked: settings.imageColorFilter = ColorTone.Normal + checked: settings.imageColorFilter == ColorTone.Normal }, CheckButton { - normalIconId: Data.cfIcon(value) - checkedIconId: Data.cfSelectedIcon(value) - value: ColorTone.GrayScale - savedValue: settings.imageColorFilter - onClicked: settings.imageColorFilter = value + iconId: Data.cfIcon(ColorTone.GrayScale) + onClicked: settings.imageColorFilter = ColorTone.GrayScale + checked: settings.imageColorFilter == ColorTone.GrayScale }, CheckButton { - normalIconId: Data.cfIcon(value) - checkedIconId: Data.cfSelectedIcon(value) - value: ColorTone.Sepia - savedValue: settings.imageColorFilter - onClicked: settings.imageColorFilter = value + iconId: Data.cfIcon(ColorTone.Sepia) + onClicked: settings.imageColorFilter = ColorTone.Sepia + checked: settings.imageColorFilter == ColorTone.Sepia }, CheckButton { - normalIconId: Data.cfIcon(value) - checkedIconId: Data.cfSelectedIcon(value) - value: ColorTone.Vivid - savedValue: settings.imageColorFilter - onClicked: settings.imageColorFilter = value + iconId: Data.cfIcon(ColorTone.Vivid) + onClicked: settings.imageColorFilter = ColorTone.Vivid + checked: settings.imageColorFilter == ColorTone.Vivid }, CheckButton { - normalIconId: Data.cfIcon(value) - checkedIconId: Data.cfSelectedIcon(value) - value: ColorTone.Negative - savedValue: settings.imageColorFilter - onClicked: settings.imageColorFilter = value + iconId: Data.cfIcon(ColorTone.Negative) + onClicked: settings.imageColorFilter = ColorTone.Negative + checked: settings.imageColorFilter == ColorTone.Negative }, CheckButton { - normalIconId: Data.cfIcon(value) - checkedIconId: Data.cfSelectedIcon(value) - value: ColorTone.Solarize - savedValue: settings.imageColorFilter - onClicked: settings.imageColorFilter = value + iconId: Data.cfIcon(ColorTone.Solarize) + onClicked: settings.imageColorFilter = ColorTone.Solarize + checked: settings.imageColorFilter == ColorTone.Solarize } ] } diff --git a/qml/ImageSceneButton.qml b/qml/ImageSceneButton.qml index e8d2113..7321a0c 100644 --- a/qml/ImageSceneButton.qml +++ b/qml/ImageSceneButton.qml @@ -36,46 +36,34 @@ CameraToolIcon { verticalAlignment: Text.AlignVCenter }, CheckButton { - normalIconId: Data.ismIcon(value) - checkedIconId: Data.ismSelectedIcon(value) - savedValue: settings.imageSceneMode - onClicked: settings.imageSceneMode = value - value: Scene.Auto + iconId: Data.ismIcon(Scene.Auto) + onClicked: settings.imageSceneMode = Scene.Auto + checked: settings.imageSceneMode == Scene.Auto }, CheckButton { - normalIconId: Data.ismIcon(value) - checkedIconId: Data.ismSelectedIcon(value) - savedValue: settings.imageSceneMode - onClicked: settings.imageSceneMode = value - value: Scene.Closeup + iconId: Data.ismIcon(Scene.Closeup) + onClicked: settings.imageSceneMode = Scene.Closeup + checked: settings.imageSceneMode == Scene.Closeup }, CheckButton { - normalIconId: Data.ismIcon(value) - checkedIconId: Data.ismSelectedIcon(value) - savedValue: settings.imageSceneMode - onClicked: settings.imageSceneMode = value - value: Scene.Landscape + iconId: Data.ismIcon(Scene.Landscape) + onClicked: settings.imageSceneMode = Scene.Landscape + checked: settings.imageSceneMode == Scene.Landscape }, CheckButton { - normalIconId: Data.ismIcon(value) - checkedIconId: Data.ismSelectedIcon(value) - savedValue: settings.imageSceneMode - onClicked: settings.imageSceneMode = value - value: Scene.Portrait + iconId: Data.ismIcon(Scene.Portrait) + onClicked: settings.imageSceneMode = Scene.Portrait + checked: settings.imageSceneMode == Scene.Portrait }, CheckButton { - normalIconId: Data.ismIcon(value) - checkedIconId: Data.ismSelectedIcon(value) - savedValue: settings.imageSceneMode - onClicked: settings.imageSceneMode = value - value: Scene.Night + iconId: Data.ismIcon(Scene.Night) + onClicked: settings.imageSceneMode = Scene.Night + checked: settings.imageSceneMode == Scene.Night }, CheckButton { - normalIconId: Data.ismIcon(value) - checkedIconId: Data.ismSelectedIcon(value) - savedValue: settings.imageSceneMode - onClicked: settings.imageSceneMode = value - value: Scene.Sport + iconId: Data.ismIcon(Scene.Sport) + onClicked: settings.imageSceneMode = Scene.Sport + checked: settings.imageSceneMode == Scene.Sport } ] } diff --git a/qml/ImageWhiteBalanceButton.qml b/qml/ImageWhiteBalanceButton.qml index f75968f..e02228c 100644 --- a/qml/ImageWhiteBalanceButton.qml +++ b/qml/ImageWhiteBalanceButton.qml @@ -36,39 +36,29 @@ CameraToolIcon { verticalAlignment: Text.AlignVCenter }, CheckButton { - normalIconId: Data.wbIcon(value) - checkedIconId: Data.wbSelectedIcon(value) - onClicked: settings.imageWhiteBalance = value - value: WhiteBalance.Auto - savedValue: settings.imageWhiteBalance + iconId: Data.wbIcon(WhiteBalance.Auto) + onClicked: settings.imageWhiteBalance = WhiteBalance.Auto + checked: settings.imageWhiteBalance == WhiteBalance.Auto }, CheckButton { - normalIconId: Data.wbIcon(value) - checkedIconId: Data.wbSelectedIcon(value) - onClicked: settings.imageWhiteBalance = value - value: WhiteBalance.Sunset - savedValue: settings.imageWhiteBalance + iconId: Data.wbIcon(WhiteBalance.Sunset) + onClicked: settings.imageWhiteBalance = WhiteBalance.Sunset + checked: settings.imageWhiteBalance == WhiteBalance.Sunset }, CheckButton { - normalIconId: Data.wbIcon(value) - checkedIconId: Data.wbSelectedIcon(value) - onClicked: settings.imageWhiteBalance = value - value: WhiteBalance.Cloudy - savedValue: settings.imageWhiteBalance + iconId: Data.wbIcon(WhiteBalance.Cloudy) + onClicked: settings.imageWhiteBalance = WhiteBalance.Cloudy + checked: settings.imageWhiteBalance == WhiteBalance.Cloudy }, CheckButton { - normalIconId: Data.wbIcon(value) - checkedIconId: Data.wbSelectedIcon(value) - onClicked: settings.imageWhiteBalance = value - value: WhiteBalance.Flourescent - savedValue: settings.imageWhiteBalance + iconId: Data.wbIcon(WhiteBalance.Flourescent) + onClicked: settings.imageWhiteBalance = WhiteBalance.Flourescent + checked: settings.imageWhiteBalance == WhiteBalance.Flourescent }, CheckButton { - normalIconId: Data.wbIcon(value) - checkedIconId: Data.wbSelectedIcon(value) - onClicked: settings.imageWhiteBalance = value - value: WhiteBalance.Tungsten - savedValue: settings.imageWhiteBalance + iconId: Data.wbIcon(WhiteBalance.Tungsten) + onClicked: settings.imageWhiteBalance = WhiteBalance.Tungsten + checked: settings.imageWhiteBalance == WhiteBalance.Tungsten } ] } diff --git a/qml/VideoColorFilterButton.qml b/qml/VideoColorFilterButton.qml index 5b0f248..bd13b5f 100644 --- a/qml/VideoColorFilterButton.qml +++ b/qml/VideoColorFilterButton.qml @@ -34,48 +34,36 @@ CameraToolIcon { height: parent ? parent.height : 0 text: qsTr("Filter") verticalAlignment: Text.AlignVCenter - }, + }, CheckButton { - normalIconId: Data.cfIcon(value) - checkedIconId: Data.cfSelectedIcon(value) - value: ColorTone.Normal - savedValue: settings.videoColorFilter - onClicked: settings.videoColorFilter = value + iconId: Data.cfIcon(ColorTone.Normal) + onClicked: settings.videoColorFilter = ColorTone.Normal + checked: settings.videoColorFilter == ColorTone.Normal }, CheckButton { - normalIconId: Data.cfIcon(value) - checkedIconId: Data.cfSelectedIcon(value) - value: ColorTone.GrayScale - savedValue: settings.videoColorFilter - onClicked: settings.videoColorFilter = value + iconId: Data.cfIcon(ColorTone.GrayScale) + onClicked: settings.videoColorFilter = ColorTone.GrayScale + checked: settings.videoColorFilter == ColorTone.GrayScale }, CheckButton { - normalIconId: Data.cfIcon(value) - checkedIconId: Data.cfSelectedIcon(value) - value: ColorTone.Sepia - savedValue: settings.videoColorFilter - onClicked: settings.videoColorFilter = value + iconId: Data.cfIcon(ColorTone.Sepia) + onClicked: settings.videoColorFilter = ColorTone.Sepia + checked: settings.videoColorFilter == ColorTone.Sepia }, CheckButton { - normalIconId: Data.cfIcon(value) - checkedIconId: Data.cfSelectedIcon(value) - value: ColorTone.Vivid - savedValue: settings.videoColorFilter - onClicked: settings.videoColorFilter = value + iconId: Data.cfIcon(ColorTone.Vivid) + onClicked: settings.videoColorFilter = ColorTone.Vivid + checked: settings.videoColorFilter == ColorTone.Vivid }, CheckButton { - normalIconId: Data.cfIcon(value) - checkedIconId: Data.cfSelectedIcon(value) - value: ColorTone.Negative - savedValue: settings.videoColorFilter - onClicked: settings.videoColorFilter = value + iconId: Data.cfIcon(ColorTone.Negative) + onClicked: settings.videoColorFilter = ColorTone.Negative + checked: settings.videoColorFilter == ColorTone.Negative }, CheckButton { - normalIconId: Data.cfIcon(value) - checkedIconId: Data.cfSelectedIcon(value) - value: ColorTone.Solarize - savedValue: settings.videoColorFilter - onClicked: settings.videoColorFilter = value + iconId: Data.cfIcon(ColorTone.Solarize) + onClicked: settings.videoColorFilter = ColorTone.Solarize + checked: settings.videoColorFilter == ColorTone.Solarize } ] } diff --git a/qml/VideoSceneButton.qml b/qml/VideoSceneButton.qml index fcf2136..d3b63b7 100644 --- a/qml/VideoSceneButton.qml +++ b/qml/VideoSceneButton.qml @@ -36,18 +36,14 @@ CameraToolIcon { verticalAlignment: Text.AlignVCenter }, CheckButton { - normalIconId: Data.vsmIcon(value) - checkedIconId: Data.vsmSelectedIcon(value) - savedValue: settings.videoSceneMode - onClicked: settings.videoSceneMode = value - value: Scene.Auto + iconId: Data.vsmIcon(Scene.Auto) + onClicked: settings.videoSceneMode = Scene.Auto + checked: settings.videoSceneMode == Scene.Auto }, CheckButton { - normalIconId: Data.vsmIcon(value) - checkedIconId: Data.vsmSelectedIcon(value) - savedValue: settings.videoSceneMode - onClicked: settings.videoSceneMode = value - value: Scene.Night + iconId: Data.vsmIcon(Scene.Night) + onClicked: settings.videoSceneMode = Scene.Night + checked: settings.videoSceneMode == Scene.Night } ] } diff --git a/qml/VideoWhiteBalanceButton.qml b/qml/VideoWhiteBalanceButton.qml index 95588cb..d7c49e4 100644 --- a/qml/VideoWhiteBalanceButton.qml +++ b/qml/VideoWhiteBalanceButton.qml @@ -36,39 +36,29 @@ CameraToolIcon { verticalAlignment: Text.AlignVCenter }, CheckButton { - normalIconId: Data.wbIcon(value) - checkedIconId: Data.wbSelectedIcon(value) - value: WhiteBalance.Auto - savedValue: settings.videoWhiteBalance - onClicked: settings.videoWhiteBalance = value + iconId: Data.wbIcon(WhiteBalance.Auto) + onClicked: settings.videoWhiteBalance = WhiteBalance.Auto + checked: settings.videoWhiteBalance == WhiteBalance.Auto }, CheckButton { - normalIconId: Data.wbIcon(value) - checkedIconId: Data.wbSelectedIcon(value) - value: WhiteBalance.Sunset - savedValue: settings.videoWhiteBalance - onClicked: settings.videoWhiteBalance = value + iconId: Data.wbIcon(WhiteBalance.Sunset) + onClicked: settings.videoWhiteBalance = WhiteBalance.Sunset + checked: settings.videoWhiteBalance == WhiteBalance.Sunset }, CheckButton { - normalIconId: Data.wbIcon(value) - checkedIconId: Data.wbSelectedIcon(value) - value: WhiteBalance.Cloudy - savedValue: settings.videoWhiteBalance - onClicked: settings.videoWhiteBalance = value + iconId: Data.wbIcon(WhiteBalance.Cloudy) + onClicked: settings.videoWhiteBalance = WhiteBalance.Cloudy + checked: settings.videoWhiteBalance == WhiteBalance.Cloudy }, CheckButton { - normalIconId: Data.wbIcon(value) - checkedIconId: Data.wbSelectedIcon(value) - value: WhiteBalance.Flourescent - savedValue: settings.videoWhiteBalance - onClicked: settings.videoWhiteBalance = value + iconId: Data.wbIcon(WhiteBalance.Flourescent) + onClicked: settings.videoWhiteBalance = WhiteBalance.Flourescent + checked: settings.videoWhiteBalance == WhiteBalance.Flourescent }, CheckButton { - normalIconId: Data.wbIcon(value) - checkedIconId: Data.wbSelectedIcon(value) - value: WhiteBalance.Tungsten - savedValue: settings.videoWhiteBalance - onClicked: settings.videoWhiteBalance = value + iconId: Data.wbIcon(WhiteBalance.Tungsten) + onClicked: settings.videoWhiteBalance = WhiteBalance.Tungsten + checked: settings.videoWhiteBalance == WhiteBalance.Tungsten } ] }