Switch toolbar animation to opacity
[harmattan/cameraplus] / qml / VideoColorFilterButton.qml
index 46a5bb4..6cfc767 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
-@IMPORT_QT_QUICK@
+import QtQuick 2.0
 import QtCamera 1.0
-import "data.js" as Data
 
 CameraToolIcon {
     id: button
 
-    iconSource: "image://theme/" + Data.cfIcon(settings.videoColorFilter)
+    iconSource: cameraTheme.colorFilterIcon(settings.videoColorFilter)
 
-    property list<Item> items: [
+    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 {
-            normalIcon: "image://theme/" + Data.cfIcon(value)
-            checkedIcon: "image://theme/" + Data.cfSelectedIcon(value)
-            value: ColorTone.Normal
-            savedValue: settings.videoColorFilter
-            onClicked: settings.videoColorFilter = value
-        },
-        CheckButton {
-            normalIcon: "image://theme/" + Data.cfIcon(value)
-            checkedIcon: "image://theme/" + Data.cfSelectedIcon(value)
-            value: ColorTone.GrayScale
-            savedValue: settings.videoColorFilter
-            onClicked: settings.videoColorFilter = value
-        },
-        CheckButton {
-            normalIcon: "image://theme/" + Data.cfIcon(value)
-            checkedIcon: "image://theme/" + Data.cfSelectedIcon(value)
-            value: ColorTone.Sepia
-            savedValue: settings.videoColorFilter
-            onClicked: settings.videoColorFilter = value
-        },
-        CheckButton {
-            normalIcon: "image://theme/" + Data.cfIcon(value)
-            checkedIcon: "image://theme/" + Data.cfSelectedIcon(value)
-            value: ColorTone.Vivid
-            savedValue: settings.videoColorFilter
-            onClicked: settings.videoColorFilter = value
-        },
-        CheckButton {
-            normalIcon: "image://theme/" + Data.cfIcon(value)
-            checkedIcon: "image://theme/" + Data.cfSelectedIcon(value)
-            value: ColorTone.Negative
-            savedValue: settings.videoColorFilter
-            onClicked: settings.videoColorFilter = value
-        },
-        CheckButton {
-            normalIcon: "image://theme/" + Data.cfIcon(value)
-            checkedIcon: "image://theme/" + Data.cfSelectedIcon(value)
-            value: ColorTone.Solarize
-            savedValue: settings.videoColorFilter
-            onClicked: settings.videoColorFilter = value
         }
-    ]
+
+        Repeater {
+            model: parent != null && parent.visible ? toolsModel : undefined
+
+            delegate: CheckButton {
+                iconSource: icon
+                onClicked: settings.videoColorFilter = value
+                checked: settings.videoColorFilter == value
+            }
+        }
+    }
 }