harbour-seaprint/qml/components/Setting.qml
2021-03-21 14:01:19 +01:00

57 lines
1.2 KiB
QML

import QtQuick 2.0
import Sailfish.Silica 1.0
Item {
height: button.height + (menu != undefined ? menu.height : 0) + resetMenu.height
width: parent.width
property string name
property string prettyName
property int tag
property bool _valid: parent.isValid(name)
property bool valid: _valid
property var choice
property var default_choice: parent.getDefaultChoice(name)
Component.onCompleted: parent.setInitialChoice(this)
onChoiceChanged: parent.choiceMade(this)
signal clicked()
onClicked: {
if (hasMenu)
{
menu.open(this)
}
}
signal pressAndHold()
onPressAndHold: {
resetMenu.open(this)
}
property alias displayValue: button.value
ValueButton {
id: button
enabled: valid
label: prettyName
onClicked: parent.clicked()
onPressAndHold: parent.pressAndHold()
valueColor: choice != undefined ? Theme.highlightColor : Theme.secondaryHighlightColor
}
property var menu
property bool hasMenu: true
ContextMenu {
id: resetMenu
MenuItem {
text: qsTr("Reset")
onClicked: choice = undefined
}
}
}