Set focus to ContinuousNormal always
[harmattan/cameraplus] / qml / ImageColorFilterButton.qml
index 8e2f6f3..1af5b3e 100644 (file)
@@ -3,7 +3,7 @@
 /*!
  * This file is part of CameraPlus.
  *
- * Copyright (C) 2012 Mohammed Sameer <msameer@foolab.org>
+ * Copyright (C) 2012-2013 Mohammed Sameer <msameer@foolab.org>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
-import QtQuick 1.1
-import com.nokia.meego 1.1
+import QtQuick 2.0
 import QtCamera 1.0
-import "data.js" as Data
 
-ToolIcon {
-        id: button
-        iconSource: "image://theme/" + Data.cfIcon(settings.imageColorFilter);
+CameraToolIcon {
+    id: button
 
-        property list<Item> items: [
-                Label {
-                        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.imageColorFilter
-                        onClicked: settings.imageColorFilter = value;
-                },
-                CheckButton {
-                        normalIcon: "image://theme/" + Data.cfIcon(value);
-                        checkedIcon: "image://theme/" + Data.cfSelectedIcon(value);
-                        value: ColorTone.GrayScale
-                        savedValue: settings.imageColorFilter
-                        onClicked: settings.imageColorFilter = value;
-                },
-                CheckButton {
-                        normalIcon: "image://theme/" + Data.cfIcon(value);
-                        checkedIcon: "image://theme/" + Data.cfSelectedIcon(value);
-                        value: ColorTone.Sepia
-                        savedValue: settings.imageColorFilter
-                        onClicked: settings.imageColorFilter = value;
-                },
-                CheckButton {
-                        normalIcon: "image://theme/" + Data.cfIcon(value);
-                        checkedIcon: "image://theme/" + Data.cfSelectedIcon(value);
-                        value: ColorTone.Vivid
-                        savedValue: settings.imageColorFilter
-                        onClicked: settings.imageColorFilter = value;
-                },
-                CheckButton {
-                        normalIcon: "image://theme/" + Data.cfIcon(value);
-                        checkedIcon: "image://theme/" + Data.cfSelectedIcon(value);
-                        value: ColorTone.Negative
-                        savedValue: settings.imageColorFilter
-                        onClicked: settings.imageColorFilter = value;
-                },
-                CheckButton {
-                        normalIcon: "image://theme/" + Data.cfIcon(value);
-                        checkedIcon: "image://theme/" + Data.cfSelectedIcon(value);
-                        value: ColorTone.Solarize
-                        savedValue: settings.imageColorFilter
-                        onClicked: settings.imageColorFilter = value;
-                }]
+    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
+        }
+
+        Repeater {
+            model: parent != null && parent.visible ? toolsModel : undefined
+
+            delegate: CheckButton {
+                iconSource: icon
+                onClicked: settings.imageColorFilter = value
+                checked: settings.imageColorFilter == value
+            }
+        }
+    }
 }