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 } }