143 lines
4.2 KiB
QML
143 lines
4.2 KiB
QML
|
import QtQuick 2.11
|
||
|
import QtQuick.Controls 2.4
|
||
|
import QtQuick.Layouts 1.3
|
||
|
import "./"
|
||
|
|
||
|
Page {
|
||
|
id: root
|
||
|
|
||
|
signal pageOpened()
|
||
|
|
||
|
background: Rectangle {
|
||
|
color: settings.theme("PageBackgroundColor")
|
||
|
}
|
||
|
|
||
|
ColumnLayout {
|
||
|
id: column
|
||
|
//spacing: height / 40
|
||
|
width: parent.width
|
||
|
anchors.fill: parent
|
||
|
anchors.topMargin: parent.height * 0.02
|
||
|
anchors.bottomMargin: parent.height * 0.02
|
||
|
|
||
|
Label {
|
||
|
id: heading
|
||
|
font.pixelSize: parent.width * 0.075
|
||
|
text: "Calender"
|
||
|
color: settings.theme("PageTextColor")
|
||
|
Layout.fillWidth: true
|
||
|
Layout.leftMargin: parent.width * 0.5 - width * 0.5
|
||
|
Layout.rightMargin: parent.width * 0.5 - width * 0.5
|
||
|
}
|
||
|
|
||
|
Label {
|
||
|
id: tickIntervalInfo
|
||
|
text: "Interval:"
|
||
|
font.pixelSize: parent.height * 0.05
|
||
|
color: settings.theme("PageTextColor")
|
||
|
Layout.leftMargin: parent.width * 0.05
|
||
|
}
|
||
|
|
||
|
|
||
|
TextField {
|
||
|
id: tickInterval
|
||
|
text: calender.tickInterval
|
||
|
placeholderText: "interval"
|
||
|
validator: IntValidator {bottom: 1; top: 1000000;}
|
||
|
horizontalAlignment: Qt.AlignHCenter
|
||
|
Layout.fillWidth: true
|
||
|
Layout.leftMargin: parent.width * 0.05
|
||
|
Layout.rightMargin: parent.width * 0.05
|
||
|
Keys.onReturnPressed: root.start()
|
||
|
}
|
||
|
|
||
|
Label {
|
||
|
id: dateCountInfo
|
||
|
text: "Dates:"
|
||
|
font.pixelSize: parent.height * 0.05
|
||
|
color: settings.theme("PageTextColor")
|
||
|
Layout.leftMargin: parent.width * 0.05
|
||
|
}
|
||
|
|
||
|
TextField {
|
||
|
id: dateCount
|
||
|
text: calender.dateCount
|
||
|
placeholderText: "dates"
|
||
|
validator: IntValidator {bottom: 1; top: 100000;}
|
||
|
color: settings.theme("PageTextColor")
|
||
|
horizontalAlignment: Qt.AlignHCenter
|
||
|
Layout.fillWidth: true
|
||
|
Layout.leftMargin: parent.width * 0.05
|
||
|
Layout.rightMargin: parent.width * 0.05
|
||
|
Keys.onReturnPressed: root.start()
|
||
|
}
|
||
|
|
||
|
Label {
|
||
|
id: minInfo
|
||
|
text: "Minimum:"
|
||
|
font.pixelSize: parent.height * 0.05
|
||
|
color: settings.theme("PageTextColor")
|
||
|
Layout.leftMargin: parent.width * 0.05
|
||
|
}
|
||
|
|
||
|
TextField {
|
||
|
id: min
|
||
|
text: calender.min
|
||
|
placeholderText: "minimum"
|
||
|
validator: IntValidator {bottom: 1800; top: 10000;}
|
||
|
horizontalAlignment: Qt.AlignHCenter
|
||
|
Layout.fillWidth: true
|
||
|
Layout.leftMargin: parent.width * 0.05
|
||
|
Layout.rightMargin: parent.width * 0.05
|
||
|
Keys.onReturnPressed: root.start()
|
||
|
}
|
||
|
|
||
|
Label {
|
||
|
id: maxInfo
|
||
|
text: "Maximum:"
|
||
|
font.pixelSize: parent.height * 0.05
|
||
|
color: settings.theme("PageTextColor")
|
||
|
Layout.leftMargin: parent.width * 0.05
|
||
|
}
|
||
|
|
||
|
TextField {
|
||
|
id: max
|
||
|
text: calender.max
|
||
|
placeholderText: "maximum"
|
||
|
validator: IntValidator {bottom: 1800; top: 10000;}
|
||
|
horizontalAlignment: Qt.AlignHCenter
|
||
|
Layout.fillWidth: true
|
||
|
Layout.leftMargin: parent.width * 0.05
|
||
|
Layout.rightMargin: parent.width * 0.05
|
||
|
Keys.onReturnPressed: root.start()
|
||
|
}
|
||
|
|
||
|
RoundButton {
|
||
|
id: startButton
|
||
|
text: "start"
|
||
|
height: parent.width * 0.1
|
||
|
width: height
|
||
|
//font.pixelSize: parent.width * 0.03
|
||
|
Layout.fillWidth: true
|
||
|
Layout.leftMargin: parent.width * 0.05
|
||
|
Layout.rightMargin: parent.width * 0.05
|
||
|
onClicked: {
|
||
|
root.start()
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
function start() {
|
||
|
if (tickInterval.text > 0 && dateCount.text > 0 && min.text >= 1800 && max.text >= min.text) {
|
||
|
root.updateVars()
|
||
|
calender.run()
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function updateVars() {
|
||
|
calender.tickInterval = tickInterval.text
|
||
|
calender.dateCount = dateCount.text
|
||
|
calender.min = min.text
|
||
|
calender.max = max.text
|
||
|
}
|
||
|
}
|