Switch toolbar animation to opacity
[harmattan/cameraplus] / qml / ImageColorFilterButton.qml
index 8b01d0f..1af5b3e 100644 (file)
 
 import QtQuick 2.0
 import QtCamera 1.0
-import "data.js" as Data
 
 CameraToolIcon {
     id: button
-    iconId: Data.cfIcon(settings.imageColorFilter)
 
-    property list<Item> items: [
+    iconSource: cameraTheme.colorFilterIcon(settings.imageColorFilter)
+
+    property list<ToolsModelItem> toolsModel: [
+        ToolsModelItem {icon: cameraTheme.colorFilterNormalIconId; value: ColorTone.Normal },
+        ToolsModelItem {icon: cameraTheme.colorFilterGrayScaleIconId; value: ColorTone.GrayScale },
+        ToolsModelItem {icon: cameraTheme.colorFilterSepiaIconId; value: ColorTone.Sepia },
+        ToolsModelItem {icon: cameraTheme.colorFilterVividIconId; value: ColorTone.Vivid },
+        ToolsModelItem {icon: cameraTheme.colorFilterNegativeIconId; value: ColorTone.Negative },
+        ToolsModelItem {icon: cameraTheme.colorFilterSolarizeIconId; value: ColorTone.Solarize }
+    ]
+
+    property CameraToolBarTools tools: CameraToolBarTools {
         CameraLabel {
             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.imageColorFilter
-            onClicked: settings.imageColorFilter = value
-        },
-        CheckButton {
-            normalIconId: Data.cfIcon(value)
-            checkedIconId: Data.cfSelectedIcon(value)
-            value: ColorTone.GrayScale
-            savedValue: settings.imageColorFilter
-            onClicked: settings.imageColorFilter = value
-        },
-        CheckButton {
-            normalIconId: Data.cfIcon(value)
-            checkedIconId: Data.cfSelectedIcon(value)
-            value: ColorTone.Sepia
-            savedValue: settings.imageColorFilter
-            onClicked: settings.imageColorFilter = value
-        },
-        CheckButton {
-            normalIconId: Data.cfIcon(value)
-            checkedIconId: Data.cfSelectedIcon(value)
-            value: ColorTone.Vivid
-            savedValue: settings.imageColorFilter
-            onClicked: settings.imageColorFilter = value
-        },
-        CheckButton {
-            normalIconId: Data.cfIcon(value)
-            checkedIconId: Data.cfSelectedIcon(value)
-            value: ColorTone.Negative
-            savedValue: settings.imageColorFilter
-            onClicked: settings.imageColorFilter = value
-        },
-        CheckButton {
-            normalIconId: Data.cfIcon(value)
-            checkedIconId: Data.cfSelectedIcon(value)
-            value: ColorTone.Solarize
-            savedValue: settings.imageColorFilter
-            onClicked: settings.imageColorFilter = value
         }
-    ]
+
+        Repeater {
+            model: parent != null && parent.visible ? toolsModel : undefined
+
+            delegate: CheckButton {
+                iconSource: icon
+                onClicked: settings.imageColorFilter = value
+                checked: settings.imageColorFilter == value
+            }
+        }
+    }
 }