Convert TextSwitch to a platform specific component and rename it to CameraTextSwitch
[harmattan/cameraplus] / qml / VideoWhiteBalanceButton.qml
index 353619b..8867db2 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 QtCamera 1.0
-import "data.js" as Data
 
-ToolIcon {
+CameraToolIcon {
     id: button
 
-    iconSource: "image://theme/" + Data.wbIcon(settings.videoWhiteBalance)
+    iconSource: cameraTheme.whiteBalanceIcon(settings.videoWhiteBalance)
 
-    property list<Item> items: [
-        Label {
+    property list<ToolsModelItem> toolsModel: [
+        ToolsModelItem {icon: cameraTheme.whiteBalanceAutoIconId; value: WhiteBalance.Auto },
+        ToolsModelItem {icon: cameraTheme.whiteBalanceSunsetIconId; value: WhiteBalance.Sunset },
+        ToolsModelItem {icon: cameraTheme.whiteBalanceCloudyIconId; value: WhiteBalance.Cloudy },
+        ToolsModelItem {icon: cameraTheme.whiteBalanceFlourescentIconId; value: WhiteBalance.Flourescent },
+        ToolsModelItem {icon: cameraTheme.whiteBalanceTungstenIconId; value: WhiteBalance.Tungsten }
+    ]
+
+    property CameraToolBarTools tools: CameraToolBarTools {
+        CameraLabel {
             height: parent ? parent.height : 0
             text: qsTr("WB")
             verticalAlignment: Text.AlignVCenter
-        },
-        CheckButton {
-            normalIcon: "image://theme/" + Data.wbIcon(value)
-            checkedIcon: "image://theme/" + Data.wbSelectedIcon(value)
-            value: WhiteBalance.Auto
-            savedValue: settings.videoWhiteBalance
-            onClicked: settings.videoWhiteBalance = value
-        },
-        CheckButton {
-            normalIcon: "image://theme/" + Data.wbIcon(value)
-            checkedIcon: "image://theme/" + Data.wbSelectedIcon(value)
-            value: WhiteBalance.Sunset
-            savedValue: settings.videoWhiteBalance
-            onClicked: settings.videoWhiteBalance = value
-        },
-        CheckButton {
-            normalIcon: "image://theme/" + Data.wbIcon(value)
-            checkedIcon: "image://theme/" + Data.wbSelectedIcon(value)
-            value: WhiteBalance.Cloudy
-            savedValue: settings.videoWhiteBalance
-            onClicked: settings.videoWhiteBalance = value
-        },
-        CheckButton {
-            normalIcon: "image://theme/" + Data.wbIcon(value)
-            checkedIcon: "image://theme/" + Data.wbSelectedIcon(value)
-            value: WhiteBalance.Flourescent
-            savedValue: settings.videoWhiteBalance
-            onClicked: settings.videoWhiteBalance = value
-        },
-        CheckButton {
-            normalIcon: "image://theme/" + Data.wbIcon(value)
-            checkedIcon: "image://theme/" + Data.wbSelectedIcon(value)
-            value: WhiteBalance.Tungsten
-            savedValue: settings.videoWhiteBalance
-            onClicked: settings.videoWhiteBalance = value
         }
-    ]
+
+        Repeater {
+            model: parent != null && parent.visible ? toolsModel : undefined
+
+            delegate: CheckButton {
+                iconSource: icon
+                onClicked: settings.videoWhiteBalance = value
+                checked: settings.videoWhiteBalance == value
+            }
+        }
+    }
 }