harbour-seaprint/qml/components/Setting.qml

59 lines
1.2 KiB
QML
Raw Normal View History

2019-12-01 22:27:00 +03:00
import QtQuick 2.0
import Sailfish.Silica 1.0
Item {
height: button.height + (menu != undefined ? menu.height : 0) + resetMenu.height
width: parent.width
2019-12-01 22:27:00 +03:00
property string name
property string prettyName
property int tag
property string subkey: ""
2021-03-21 16:01:19 +03:00
property bool _valid: parent.isValid(name)
property bool valid: _valid
2019-12-01 22:27:00 +03:00
property var choice
2021-03-21 16:01:19 +03:00
property var default_choice: parent.getDefaultChoice(name)
Component.onCompleted: parent.setInitialChoice(this)
onChoiceChanged: parent.choiceMade(this)
2020-11-23 22:29:59 +03:00
2019-12-01 22:27:00 +03:00
signal clicked()
onClicked: {
if (hasMenu)
{
menu.open(this)
}
}
2019-12-01 22:27:00 +03:00
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
}
2019-12-01 22:27:00 +03:00
property var menu
property bool hasMenu: true
2019-12-01 22:27:00 +03:00
ContextMenu {
id: resetMenu
MenuItem {
text: qsTr("Reset")
onClicked: choice = undefined
}
}
2019-12-01 22:27:00 +03:00
}