import QtQuick 2.0
import QtCamera 1.0
-import "data.js" as Data
CameraToolIcon {
id: button
- iconId: 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
+ }
+ }
+ }
}