Hacking UI for FP entry
This commit is contained in:
parent
5b73e9c7d0
commit
9716274612
11 changed files with 404 additions and 59 deletions
|
@ -6,32 +6,16 @@ Item {
|
||||||
|
|
||||||
property bool showAddButton: false
|
property bool showAddButton: false
|
||||||
|
|
||||||
property alias title: headerTitle.text
|
property alias title: header.title
|
||||||
property alias description: description.text
|
property alias description: description.text
|
||||||
signal add();
|
signal add();
|
||||||
|
|
||||||
implicitWidth: parent.width
|
implicitWidth: parent.width
|
||||||
implicitHeight: headerRect.height + Style.margin + description.height
|
implicitHeight: header.height + Style.margin + description.height
|
||||||
|
|
||||||
Rectangle {
|
HeaderBox {
|
||||||
id: headerRect
|
id: header
|
||||||
width: parent.width
|
width: parent.width
|
||||||
height: headerTitle.height + (Style.margin * 2)
|
|
||||||
|
|
||||||
color: Style.themeColor
|
|
||||||
border.width: 1
|
|
||||||
border.color: Style.frameColor
|
|
||||||
|
|
||||||
Text {
|
|
||||||
id: headerTitle
|
|
||||||
color: "white"
|
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
|
||||||
font.bold: true
|
|
||||||
font.pixelSize: Style.subHeadingFontPixelSize
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.leftMargin: Style.inset
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
AddButton {
|
AddButton {
|
||||||
id: addButton
|
id: addButton
|
||||||
|
@ -46,7 +30,7 @@ Item {
|
||||||
StyledText {
|
StyledText {
|
||||||
id: description
|
id: description
|
||||||
width: parent.width
|
width: parent.width
|
||||||
anchors.top: headerRect.bottom
|
anchors.top: header.bottom
|
||||||
anchors.topMargin: Style.margin
|
anchors.topMargin: Style.margin
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
}
|
}
|
||||||
|
|
7
src/GUI/qml/AirportEntry.qml
Normal file
7
src/GUI/qml/AirportEntry.qml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
import QtQuick 2.0
|
||||||
|
|
||||||
|
LineEdit
|
||||||
|
{
|
||||||
|
placeholder: "KSFO"
|
||||||
|
suggestedWidthString: "XXXX"
|
||||||
|
}
|
|
@ -9,6 +9,7 @@ FocusScope {
|
||||||
property var value: new Date()
|
property var value: new Date()
|
||||||
|
|
||||||
implicitHeight: label.implicitHeight
|
implicitHeight: label.implicitHeight
|
||||||
|
implicitWidth: label.implicitWidth + Style.margin + editFrame.width
|
||||||
|
|
||||||
function daysInMonth()
|
function daysInMonth()
|
||||||
{
|
{
|
||||||
|
@ -32,14 +33,13 @@ FocusScope {
|
||||||
updateCurrentDate();
|
updateCurrentDate();
|
||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
StyledText {
|
||||||
id: label
|
id: label
|
||||||
anchors.left: root.left
|
anchors.left: root.left
|
||||||
anchors.leftMargin: 8
|
anchors.leftMargin: Style.margin
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
horizontalAlignment: Text.AlignRight
|
horizontalAlignment: Text.AlignRight
|
||||||
// color: mouseArea.containsMouse ? Style.themeColor :
|
enabled: root.enabled
|
||||||
// (root.enabled ? "black" : Style.inactiveThemeColor)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
|
@ -82,9 +82,10 @@ FocusScope {
|
||||||
onCommit: updateCurrentDate();
|
onCommit: updateCurrentDate();
|
||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
StyledText {
|
||||||
text: " / "
|
text: " / "
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
enabled: root.enabled
|
||||||
}
|
}
|
||||||
|
|
||||||
DateTimeValueEdit {
|
DateTimeValueEdit {
|
||||||
|
@ -98,9 +99,10 @@ FocusScope {
|
||||||
onCommit: updateCurrentDate();
|
onCommit: updateCurrentDate();
|
||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
StyledText {
|
||||||
text: " / "
|
text: " / "
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
enabled: root.enabled
|
||||||
}
|
}
|
||||||
|
|
||||||
DateTimeValueEdit {
|
DateTimeValueEdit {
|
||||||
|
@ -115,9 +117,10 @@ FocusScope {
|
||||||
}
|
}
|
||||||
|
|
||||||
// spacer here
|
// spacer here
|
||||||
Text {
|
StyledText {
|
||||||
text: " "
|
text: " "
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
enabled: root.enabled
|
||||||
}
|
}
|
||||||
|
|
||||||
DateTimeValueEdit {
|
DateTimeValueEdit {
|
||||||
|
@ -131,9 +134,10 @@ FocusScope {
|
||||||
onCommit: updateCurrentDate();
|
onCommit: updateCurrentDate();
|
||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
StyledText {
|
||||||
text: " : "
|
text: " : "
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
enabled: root.enabled
|
||||||
}
|
}
|
||||||
|
|
||||||
DateTimeValueEdit {
|
DateTimeValueEdit {
|
||||||
|
|
213
src/GUI/qml/FlightPlan.qml
Normal file
213
src/GUI/qml/FlightPlan.qml
Normal file
|
@ -0,0 +1,213 @@
|
||||||
|
import QtQuick 2.4
|
||||||
|
import FlightGear.Launcher 1.0
|
||||||
|
import "."
|
||||||
|
|
||||||
|
Item {
|
||||||
|
|
||||||
|
Flickable {
|
||||||
|
id: flick
|
||||||
|
height: parent.height
|
||||||
|
width: parent.width - scrollbar.width
|
||||||
|
flickableDirection: Flickable.VerticalFlick
|
||||||
|
contentHeight: contents.childrenRect.height
|
||||||
|
|
||||||
|
Column
|
||||||
|
{
|
||||||
|
id: contents
|
||||||
|
width: parent.width - (Style.margin * 2)
|
||||||
|
x: Style.margin
|
||||||
|
spacing: Style.margin
|
||||||
|
|
||||||
|
HeaderBox {
|
||||||
|
title: qsTr("Aircraft & flight information")
|
||||||
|
width: parent.width
|
||||||
|
}
|
||||||
|
|
||||||
|
// date of flight << omit for now
|
||||||
|
|
||||||
|
Row {
|
||||||
|
height: aircraftIdent.height
|
||||||
|
width: parent.width
|
||||||
|
spacing: Style.margin
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
text: qsTr("Callsign / Flight No.")
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
}
|
||||||
|
LineEdit {
|
||||||
|
// Aircraft identication - callsign (share with MP)
|
||||||
|
|
||||||
|
id: aircraftIdent
|
||||||
|
placeholder: "D-FGFS"
|
||||||
|
suggestedWidthString: "XXXXXX";
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
}
|
||||||
|
|
||||||
|
Item { width: Style.strutSize; height: 1 }
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
text: qsTr("Aircraft type:")
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
}
|
||||||
|
LineEdit {
|
||||||
|
placeholder: "B738"
|
||||||
|
suggestedWidthString: "XXXX";
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Row {
|
||||||
|
height: childrenRect.height
|
||||||
|
width: parent.width
|
||||||
|
spacing: Style.margin
|
||||||
|
|
||||||
|
PopupChoice {
|
||||||
|
id: flightRules
|
||||||
|
label: qsTr("Flight rules:")
|
||||||
|
model: ["VFR", "IFR"] // initially IFR (Y), initially VFR (Z)
|
||||||
|
}
|
||||||
|
|
||||||
|
Item { width: Style.strutSize; height: 1 }
|
||||||
|
|
||||||
|
PopupChoice {
|
||||||
|
id: flightType
|
||||||
|
label: qsTr("Flight type:")
|
||||||
|
model: [qsTr("Scheduled"),
|
||||||
|
qsTr("Non-scheduled"),
|
||||||
|
qsTr("General aviation"),
|
||||||
|
qsTr("Military"),
|
||||||
|
qsTr("Other")]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Row {
|
||||||
|
height: childrenRect.height
|
||||||
|
width: parent.width
|
||||||
|
spacing: Style.margin
|
||||||
|
|
||||||
|
PopupChoice {
|
||||||
|
id: wakeTurbulenceCategory
|
||||||
|
label: qsTr("Wake turbulence category:")
|
||||||
|
model: [qsTr("Light"),
|
||||||
|
qsTr("Medium"),
|
||||||
|
qsTr("Heavy"),
|
||||||
|
qsTr("Jumbo")]
|
||||||
|
}
|
||||||
|
|
||||||
|
// equipment
|
||||||
|
// - ideally prefill from acft
|
||||||
|
}
|
||||||
|
|
||||||
|
HeaderBox {
|
||||||
|
title: qsTr("Route")
|
||||||
|
width: parent.width
|
||||||
|
}
|
||||||
|
|
||||||
|
Row {
|
||||||
|
height: childrenRect.height
|
||||||
|
width: parent.width
|
||||||
|
spacing: Style.margin
|
||||||
|
|
||||||
|
AirportEntry {
|
||||||
|
label: qsTr("Departure airport:")
|
||||||
|
}
|
||||||
|
|
||||||
|
// padding
|
||||||
|
Item { width: Style.strutSize; height: 1 }
|
||||||
|
|
||||||
|
TimeEdit {
|
||||||
|
id: departureTime
|
||||||
|
label: qsTr("Departure time:")
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// cruising speed + level
|
||||||
|
Row {
|
||||||
|
height: childrenRect.height
|
||||||
|
width: parent.width
|
||||||
|
spacing: Style.margin
|
||||||
|
|
||||||
|
IntegerSpinbox {
|
||||||
|
label: qsTr("Cruise speed:")
|
||||||
|
suffix: "kts"
|
||||||
|
min: 0
|
||||||
|
max: 10000 // more for spaceships?
|
||||||
|
step: 5
|
||||||
|
maxDigits: 5
|
||||||
|
}
|
||||||
|
|
||||||
|
// padding
|
||||||
|
Item { width: Style.strutSize; height: 1 }
|
||||||
|
|
||||||
|
LocationAltitudeRow {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
width: parent.width
|
||||||
|
text: qsTr("Route")
|
||||||
|
}
|
||||||
|
|
||||||
|
PlainTextEditBox {
|
||||||
|
id: route
|
||||||
|
width: parent.width
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
Row {
|
||||||
|
height: childrenRect.height
|
||||||
|
width: parent.width
|
||||||
|
spacing: Style.margin
|
||||||
|
|
||||||
|
AirportEntry {
|
||||||
|
id: destinationICAO
|
||||||
|
label: qsTr("Destination airport:")
|
||||||
|
}
|
||||||
|
|
||||||
|
Item { width: Style.strutSize; height: 1 }
|
||||||
|
|
||||||
|
TimeEdit {
|
||||||
|
id: enrouteEstimate
|
||||||
|
label: qsTr("Estimate enroute time:")
|
||||||
|
}
|
||||||
|
|
||||||
|
Item { width: Style.strutSize; height: 1 }
|
||||||
|
|
||||||
|
AirportEntry {
|
||||||
|
id: alternate1
|
||||||
|
label: qsTr("Alternate airport:")
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
HeaderBox {
|
||||||
|
title: qsTr("Additional information")
|
||||||
|
width: parent.width
|
||||||
|
}
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
width: parent.width
|
||||||
|
text: qsTr("Remarks")
|
||||||
|
}
|
||||||
|
|
||||||
|
PlainTextEditBox {
|
||||||
|
id: remarks
|
||||||
|
width: parent.width
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// speak to Act-pie guy about passing all this over MP props?
|
||||||
|
} // of main column
|
||||||
|
|
||||||
|
} // of flickable
|
||||||
|
|
||||||
|
Scrollbar {
|
||||||
|
id: scrollbar
|
||||||
|
anchors.right: parent.right
|
||||||
|
height: parent.height
|
||||||
|
flickable: flick
|
||||||
|
visible: flick.contentHeight > flick.height
|
||||||
|
}
|
||||||
|
}
|
23
src/GUI/qml/HeaderBox.qml
Normal file
23
src/GUI/qml/HeaderBox.qml
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
import QtQuick 2.4
|
||||||
|
import "."
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
id: headerRect
|
||||||
|
implicitHeight: headerTitle.height + (Style.margin * 2)
|
||||||
|
|
||||||
|
property alias title: headerTitle.text
|
||||||
|
|
||||||
|
color: Style.themeColor
|
||||||
|
border.width: 1
|
||||||
|
border.color: Style.frameColor
|
||||||
|
|
||||||
|
Text {
|
||||||
|
id: headerTitle
|
||||||
|
color: "white"
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
font.bold: true
|
||||||
|
font.pixelSize: Style.subHeadingFontPixelSize
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.leftMargin: Style.inset
|
||||||
|
}
|
||||||
|
}
|
|
@ -69,6 +69,13 @@ Item {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function enterFlightPlan()
|
||||||
|
{
|
||||||
|
sidebar.selectedPage = -1;
|
||||||
|
pageLoader.source = "qrc:///qml/FlightPlan.qml"
|
||||||
|
root.state = "loader";
|
||||||
|
}
|
||||||
|
|
||||||
Sidebar {
|
Sidebar {
|
||||||
id: sidebar
|
id: sidebar
|
||||||
width: Style.strutSize * 2
|
width: Style.strutSize * 2
|
||||||
|
@ -141,6 +148,8 @@ Item {
|
||||||
MenuItem { text:qsTr("Save configuration as..."); shortcut: "Ctrl+S";
|
MenuItem { text:qsTr("Save configuration as..."); shortcut: "Ctrl+S";
|
||||||
onTriggered: _launcher.saveConfigAs(); },
|
onTriggered: _launcher.saveConfigAs(); },
|
||||||
MenuDivider {},
|
MenuDivider {},
|
||||||
|
MenuItem { text:qsTr("Flight-planning"); onTriggered: root.enterFlightPlan(); shortcut: "Ctrl+P"; enabled: false},
|
||||||
|
MenuDivider {},
|
||||||
MenuItem { text:qsTr("View command line"); onTriggered: _launcher.viewCommandLine(); shortcut: "Ctrl+L"},
|
MenuItem { text:qsTr("View command line"); onTriggered: _launcher.viewCommandLine(); shortcut: "Ctrl+L"},
|
||||||
MenuItem { text:qsTr("Select data files location..."); onTriggered: _launcher.requestChangeDataPath(); },
|
MenuItem { text:qsTr("Select data files location..."); onTriggered: _launcher.requestChangeDataPath(); },
|
||||||
MenuItem { text:qsTr("Restore default settings..."); onTriggered: _launcher.requestRestoreDefaults(); },
|
MenuItem { text:qsTr("Restore default settings..."); onTriggered: _launcher.requestRestoreDefaults(); },
|
||||||
|
|
|
@ -50,7 +50,7 @@ Row {
|
||||||
|
|
||||||
PopupChoice {
|
PopupChoice {
|
||||||
id: altitudeTypeChoice
|
id: altitudeTypeChoice
|
||||||
enabled: __rowEnabled && (location.altitudeType !== LocationController.Off)
|
enabled: __rowEnabled && (_location.altitudeType !== LocationController.Off)
|
||||||
currentIndex: Math.max(0, _location.altitudeType - 1)
|
currentIndex: Math.max(0, _location.altitudeType - 1)
|
||||||
readonly property bool isFlightLevel: (currentIndex == 2)
|
readonly property bool isFlightLevel: (currentIndex == 2)
|
||||||
|
|
||||||
|
|
38
src/GUI/qml/PlainTextEditBox.qml
Normal file
38
src/GUI/qml/PlainTextEditBox.qml
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
import QtQuick 2.4
|
||||||
|
import FlightGear.Launcher 1.0
|
||||||
|
import "."
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
id: editFrame
|
||||||
|
|
||||||
|
property bool enabled: true
|
||||||
|
property alias placeholder: placeholderText.text
|
||||||
|
property alias text: edit.text
|
||||||
|
|
||||||
|
implicitHeight: edit.height + Style.margin
|
||||||
|
border.color: edit.activeFocus ? Style.frameColor : Style.minorFrameColor
|
||||||
|
border.width: 1
|
||||||
|
|
||||||
|
TextEdit {
|
||||||
|
id: edit
|
||||||
|
enabled: editFrame.enabled
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.right: parent.right
|
||||||
|
anchors.margins: Style.margin
|
||||||
|
height: Math.max(Style.strutSize * 4, implicitHeight)
|
||||||
|
textFormat: TextEdit.PlainText
|
||||||
|
font.family: "Courier"
|
||||||
|
selectByMouse: true
|
||||||
|
wrapMode: TextEdit.WordWrap
|
||||||
|
font.pixelSize: Style.baseFontPixelSize
|
||||||
|
color: Style.baseTextColor
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
id: placeholderText
|
||||||
|
visible: (edit.text.length == 0) && !edit.activeFocus
|
||||||
|
font.family: "Courier"
|
||||||
|
color: Style.disabledTextColor
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -60,36 +60,12 @@ SettingControl {
|
||||||
"page (for example, airport or altitude) will be ignored.");
|
"page (for example, airport or altitude) will be ignored.");
|
||||||
}
|
}
|
||||||
|
|
||||||
Rectangle {
|
PlainTextEditBox
|
||||||
id: editFrame
|
{
|
||||||
height: edit.height + Style.margin
|
id: edit
|
||||||
border.color: edit.activeFocus ? Style.frameColor : Style.minorFrameColor
|
|
||||||
border.width: 1
|
|
||||||
width: parent.width
|
width: parent.width
|
||||||
|
enabled: root.enabled
|
||||||
TextEdit {
|
placeholder: root.placeholder
|
||||||
id: edit
|
|
||||||
enabled: root.enabled
|
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.right: parent.right
|
|
||||||
anchors.margins: Style.margin
|
|
||||||
height: Math.max(Style.strutSize * 4, implicitHeight)
|
|
||||||
textFormat: TextEdit.PlainText
|
|
||||||
font.family: "Courier"
|
|
||||||
selectByMouse: true
|
|
||||||
wrapMode: TextEdit.WordWrap
|
|
||||||
font.pixelSize: Style.baseFontPixelSize
|
|
||||||
color: Style.baseTextColor
|
|
||||||
|
|
||||||
StyledText {
|
|
||||||
id: placeholder
|
|
||||||
visible: (edit.text.length == 0) && !edit.activeFocus
|
|
||||||
text: root.placeholder
|
|
||||||
font.family: "Courier"
|
|
||||||
color: Style.disabledTextColor
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
86
src/GUI/qml/TimeEdit.qml
Normal file
86
src/GUI/qml/TimeEdit.qml
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
import QtQuick 2.4
|
||||||
|
import "."
|
||||||
|
|
||||||
|
FocusScope {
|
||||||
|
id: root
|
||||||
|
|
||||||
|
property alias label: label.text
|
||||||
|
property bool enabled: true
|
||||||
|
property var value: new Date()
|
||||||
|
|
||||||
|
implicitHeight: label.implicitHeight
|
||||||
|
implicitWidth: label.implicitWidth + Style.margin + editFrame.width
|
||||||
|
|
||||||
|
function updateCurrentTime()
|
||||||
|
{
|
||||||
|
root.value = new Date(0, 0, 0, hours.value, minutes.value);
|
||||||
|
}
|
||||||
|
|
||||||
|
function setTime(date)
|
||||||
|
{
|
||||||
|
hours.value = date.getHours();
|
||||||
|
minutes.value = date.getMinutes();
|
||||||
|
updateCurrentTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
id: label
|
||||||
|
anchors.left: root.left
|
||||||
|
anchors.leftMargin: Style.margin
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
horizontalAlignment: Text.AlignRight
|
||||||
|
enabled: root.enabled
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
id: editFrame
|
||||||
|
radius: Style.roundRadius
|
||||||
|
border.color: root.focus ? Style.themeColor : Style.minorFrameColor
|
||||||
|
|
||||||
|
border.width: 1
|
||||||
|
height: 30
|
||||||
|
|
||||||
|
anchors.left: label.right
|
||||||
|
anchors.leftMargin: Style.margin
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
width: editRow.childrenRect.width + Style.roundRadius * 2 + 64
|
||||||
|
|
||||||
|
Row {
|
||||||
|
id: editRow
|
||||||
|
anchors {
|
||||||
|
left: parent.left
|
||||||
|
top: parent.top
|
||||||
|
bottom: parent.bottom
|
||||||
|
right: parent.right
|
||||||
|
margins: Style.margin
|
||||||
|
}
|
||||||
|
|
||||||
|
DateTimeValueEdit {
|
||||||
|
id: hours
|
||||||
|
minValue: 0
|
||||||
|
maxValue: 23
|
||||||
|
widthString: "00"
|
||||||
|
nextToFocus: minutes
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
onCommit: updateCurrentTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
Text {
|
||||||
|
text: " : "
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
enabled: root.enabled
|
||||||
|
}
|
||||||
|
|
||||||
|
DateTimeValueEdit {
|
||||||
|
id: minutes
|
||||||
|
minValue: 0
|
||||||
|
maxValue: 59
|
||||||
|
widthString: "00"
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
previousToFocus: hours
|
||||||
|
onCommit: updateCurrentTime();
|
||||||
|
}
|
||||||
|
} // of time elements row
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -109,6 +109,11 @@
|
||||||
<file>qml/LocationAltitudeRow.qml</file>
|
<file>qml/LocationAltitudeRow.qml</file>
|
||||||
<file>qml/CatalogDelegate.qml</file>
|
<file>qml/CatalogDelegate.qml</file>
|
||||||
<file alias="clear-text-icon">assets/icons8-clear-symbol-26.png</file>
|
<file alias="clear-text-icon">assets/icons8-clear-symbol-26.png</file>
|
||||||
|
<file>qml/FlightPlan.qml</file>
|
||||||
|
<file>qml/PlainTextEditBox.qml</file>
|
||||||
|
<file>qml/HeaderBox.qml</file>
|
||||||
|
<file>qml/TimeEdit.qml</file>
|
||||||
|
<file>qml/AirportEntry.qml</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
<qresource prefix="/preview">
|
<qresource prefix="/preview">
|
||||||
<file alias="close-icon">preview-close.png</file>
|
<file alias="close-icon">preview-close.png</file>
|
||||||
|
|
Loading…
Reference in a new issue