Reworked CheckButton API
authorMohammed Sameer <msameer@foolab.org>
Thu, 1 Aug 2013 00:23:50 +0000 (03:23 +0300)
committerMohammed Sameer <msameer@foolab.org>
Thu, 1 Aug 2013 00:23:50 +0000 (03:23 +0300)
CheckButton has one roperty "checked".
It will also highlight the background of the checked button

qml/CheckButton.qml
qml/FlashButton.qml
qml/ImageColorFilterButton.qml
qml/ImageSceneButton.qml
qml/ImageWhiteBalanceButton.qml
qml/VideoColorFilterButton.qml
qml/VideoSceneButton.qml
qml/VideoWhiteBalanceButton.qml

index ac3335e..e80c91f 100644 (file)
@@ -24,10 +24,25 @@ import QtQuick 2.0
 
 CameraToolIcon {
     id: button
 
 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
+            }
+        }
+    }
 }
 }
index 084b56e..a70c42e 100644 (file)
@@ -36,32 +36,24 @@ CameraToolIcon {
             verticalAlignment: Text.AlignVCenter
         },
         CheckButton {
             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 {
         },
         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 {
         },
         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 {
         },
         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
         }
     ]
 }
         }
     ]
 }
index 8b01d0f..49ba5fe 100644 (file)
@@ -35,46 +35,34 @@ CameraToolIcon {
             verticalAlignment: Text.AlignVCenter
         },
         CheckButton {
             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 {
         },
         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 {
         },
         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 {
         },
         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 {
         },
         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 {
         },
         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
         }
     ]
 }
         }
     ]
 }
index e8d2113..7321a0c 100644 (file)
@@ -36,46 +36,34 @@ CameraToolIcon {
             verticalAlignment: Text.AlignVCenter
         },
         CheckButton {
             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 {
         },
         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 {
         },
         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 {
         },
         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 {
         },
         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 {
         },
         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
         }
     ]
 }
         }
     ]
 }
index f75968f..e02228c 100644 (file)
@@ -36,39 +36,29 @@ CameraToolIcon {
             verticalAlignment: Text.AlignVCenter
         },
         CheckButton {
             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 {
         },
         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 {
         },
         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 {
         },
         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 {
         },
         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
         }
     ]
 }
         }
     ]
 }
index 5b0f248..bd13b5f 100644 (file)
@@ -34,48 +34,36 @@ CameraToolIcon {
             height: parent ? parent.height : 0
             text: qsTr("Filter")
             verticalAlignment: Text.AlignVCenter
             height: parent ? parent.height : 0
             text: qsTr("Filter")
             verticalAlignment: Text.AlignVCenter
-            },
+        },
         CheckButton {
         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 {
         },
         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 {
         },
         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 {
         },
         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 {
         },
         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 {
         },
         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
         }
     ]
 }
         }
     ]
 }
index fcf2136..d3b63b7 100644 (file)
@@ -36,18 +36,14 @@ CameraToolIcon {
             verticalAlignment: Text.AlignVCenter
         },
         CheckButton {
             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 {
         },
         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
         }
     ]
 }
         }
     ]
 }
index 95588cb..d7c49e4 100644 (file)
@@ -36,39 +36,29 @@ CameraToolIcon {
             verticalAlignment: Text.AlignVCenter
         },
         CheckButton {
             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 {
         },
         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 {
         },
         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 {
         },
         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 {
         },
         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
         }
     ]
 }
         }
     ]
 }