Convert TextSwitch to a platform specific component and rename it to CameraTextSwitch
[harmattan/cameraplus] / qml / FlashButton.qml
index ba62c21..0202913 100644 (file)
 
 import QtQuick 2.0
 import QtCamera 1.0
-import "data.js" as Data
 
 CameraToolIcon {
     id: button
 
-    iconSource: "image://theme/" + Data.flashIcon(settings.imageFlashMode)
+    iconSource: cameraTheme.flashIcon(settings.imageFlashMode)
 
-    property list<Item> items: [
+    property list<ToolsModelItem> toolsModel: [
+        ToolsModelItem {icon: cameraTheme.flashAutoIconId; value: Flash.Auto },
+        ToolsModelItem {icon: cameraTheme.flashOnIconId; value: Flash.On },
+        ToolsModelItem {icon: cameraTheme.flashOffIconId; value: Flash.Off },
+        ToolsModelItem {icon: cameraTheme.flashRedEyeIconId; value: Flash.RedEye }
+    ]
+
+    property CameraToolBarTools tools: CameraToolBarTools {
         CameraLabel {
             height: parent ? parent.height : 0
             text: qsTr("Flash")
             verticalAlignment: Text.AlignVCenter
-        },
-        CheckButton {
-            normalIcon: "image://theme/" + Data.flashIcon(value)
-            checkedIcon: "image://theme/" + Data.flashPressedIcon(value)
-            onClicked: settings.imageFlashMode = value
-            value: Flash.Auto
-            savedValue: settings.imageFlashMode
-        },
-        CheckButton {
-            normalIcon: "image://theme/" + Data.flashIcon(value)
-            checkedIcon: "image://theme/" + Data.flashPressedIcon(value)
-            onClicked: settings.imageFlashMode = value
-            value: Flash.On
-            savedValue: settings.imageFlashMode
-        },
-        CheckButton {
-            normalIcon: "image://theme/" + Data.flashIcon(value)
-            checkedIcon: "image://theme/" + Data.flashPressedIcon(value)
-            onClicked: settings.imageFlashMode = value
-            value: Flash.Off
-            savedValue: settings.imageFlashMode
-        },
-        CheckButton {
-            normalIcon: "image://theme/" + Data.flashIcon(value)
-            checkedIcon: "image://theme/" + Data.flashPressedIcon(value)
-            onClicked: settings.imageFlashMode = value
-            value: Flash.RedEye
-            savedValue: settings.imageFlashMode
         }
-    ]
+
+        Repeater {
+            model: parent != null && parent.visible ? toolsModel : undefined
+
+            delegate: CheckButton {
+                iconSource: icon
+                onClicked: settings.imageFlashMode = value
+                checked: settings.imageFlashMode == value
+                visible: !(overlay.cam.quirks.hasQuirk(Quirks.NoRedEyeFlash) && value == Flash.RedEye)
+            }
+        }
+    }
 }