-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add first time wizard so user can change/confirm the default locales
- Loading branch information
Stefan Dunca
committed
Apr 3, 2020
1 parent
2f827ad
commit d820a7e
Showing
11 changed files
with
248 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
10 changes: 10 additions & 0 deletions
10
src/QmlControls/QGroundControl/Specific/BaseStartupWizardPage.qml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
import QtQuick 2.12 | ||
|
||
Item { | ||
// `null` for default which makes the wizzard display one of the buttons: "Next" if more pages or "Done" if the last | ||
property string doneText: null | ||
// Blocks user from closing the wizard or going to the next page until this becomes true | ||
property bool forceConfirmation: false | ||
|
||
signal closeView() | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
import QtQuick 2.11 | ||
import QtQuick.Layouts 1.11 | ||
|
||
import QGroundControl.ScreenTools 1.0 | ||
import QGroundControl.Controls 1.0 | ||
import QGroundControl.Palette 1.0 | ||
import QGroundControl 1.0 | ||
import QGroundControl.Specific 1.0 | ||
|
||
|
||
Item { | ||
id: _root | ||
width: contentColumn.width | ||
height: contentColumn.height | ||
|
||
property bool forceKeepingOpen: _pageReady && pageLoader.item.forceConfirmation && !_armed | ||
|
||
signal closeView() | ||
|
||
property bool _pageReady: pageLoader.status === Loader.Ready | ||
property int _currentIndex: 0 | ||
property int _pagesCount: QGroundControl.corePlugin.startupPages.length | ||
property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle | ||
property bool _armed: _activeVehicle && _activeVehicle.armed | ||
|
||
function doneOrJumpToNext() { | ||
if(_currentIndex < _pagesCount - 1) | ||
_currentIndex += 1 | ||
else { | ||
_root.closeView() | ||
QGroundControl.firstTimeStart = false | ||
} | ||
} | ||
|
||
Column { | ||
id: contentColumn | ||
anchors.centerIn: parent | ||
spacing: ScreenTools.defaultFontPixelHeight * 1 | ||
padding: spacing | ||
|
||
QGCLabel { | ||
text: qsTr("Welcome to " + QGroundControl.appName) | ||
color: qgcPal.text | ||
font.family: ScreenTools.demiboldFontFamily | ||
font.pointSize: ScreenTools.mediumFontPointSize | ||
} | ||
Rectangle { | ||
height: 1 | ||
color: qgcPal.windowShade | ||
width: _pageReady ? pageLoader.item.width : 0 | ||
} | ||
|
||
// Page content loader | ||
Loader { | ||
id: pageLoader | ||
source: QGroundControl.corePlugin.startupPages[_currentIndex] | ||
} | ||
|
||
Connections { | ||
target: _pageReady ? pageLoader.item : null | ||
onCloseView: doneOrJumpToNext() | ||
} | ||
|
||
QGCButton { | ||
property string _acknowledgeText: _pagesCount <= 1 ? qsTr("Next") : qsTr("Done") | ||
|
||
text: (_pageReady && pageLoader.item && pageLoader.item.doneText) ? pageLoader.item.doneText : _acknowledgeText | ||
onClicked: doneOrJumpToNext() | ||
} | ||
} | ||
} |
81 changes: 81 additions & 0 deletions
81
src/QmlControls/QGroundControl/Specific/UnitsWizardPage.qml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
import QtQuick 2.12 | ||
import QtQuick.Controls 2.12 | ||
import QtQuick.Layouts 1.12 | ||
|
||
import QGroundControl 1.0 | ||
import QGroundControl.FactSystem 1.0 | ||
import QGroundControl.FactControls 1.0 | ||
import QGroundControl.ScreenTools 1.0 | ||
import QGroundControl.SettingsManager 1.0 | ||
import QGroundControl.Controls 1.0 | ||
import QGroundControl.Specific 1.0 | ||
|
||
BaseStartupWizardPage { | ||
width: settingsColumn.width | ||
height: settingsColumn.height | ||
|
||
property real _margins: ScreenTools.defaultFontPixelWidth | ||
property real _comboFieldWidth: ScreenTools.defaultFontPixelWidth * 20 | ||
|
||
doneText: qsTr("Confirm") | ||
|
||
ColumnLayout { | ||
id: settingsColumn | ||
anchors.horizontalCenter: parent.horizontalCenter | ||
|
||
QGCLabel { | ||
id: unitsSectionLabel | ||
text: qsTr("Choose the measurement units you want to use in the application. You can change it later on in the Application Settings.") | ||
|
||
Layout.preferredWidth: unitsGrid.width | ||
wrapMode: Label.WordWrap | ||
} | ||
|
||
Rectangle { | ||
Layout.preferredHeight: unitsGrid.height + (_margins * 2) | ||
Layout.preferredWidth: unitsGrid.width + (_margins * 2) | ||
color: qgcPal.windowShade | ||
Layout.fillWidth: true | ||
|
||
GridLayout { | ||
id: unitsGrid | ||
anchors.topMargin: _margins | ||
anchors.top: parent.top | ||
Layout.fillWidth: false | ||
anchors.horizontalCenter: parent.horizontalCenter | ||
flow: GridLayout.TopToBottom | ||
rows: 5 | ||
|
||
QGCLabel { text: qsTr("System of units") } | ||
|
||
Repeater { | ||
model: [ qsTr("Distance"), qsTr("Area"), qsTr("Speed"), qsTr("Temperature") ] | ||
QGCLabel { text: modelData } | ||
} | ||
|
||
QGCComboBox { | ||
model: [qsTr("Metric System"), qsTr("Imperial System")] | ||
Layout.preferredWidth: _comboFieldWidth | ||
|
||
currentIndex: QGroundControl.settingsManager.unitsSettings.distanceUnits.value === UnitsSettings.DistanceUnitsMeters ? 0 : 1 | ||
|
||
onActivated: { | ||
var metric = (currentIndex === 0); | ||
QGroundControl.settingsManager.unitsSettings.distanceUnits.value = metric ? UnitsSettings.DistanceUnitsMeters : UnitsSettings.DistanceUnitsFeet | ||
QGroundControl.settingsManager.unitsSettings.areaUnits.value = metric ? UnitsSettings.AreaUnitsSquareMeters : UnitsSettings.AreaUnitsSquareFeet | ||
QGroundControl.settingsManager.unitsSettings.speedUnits.value = metric ? UnitsSettings.SpeedUnitsMetersPerSecond : UnitsSettings.SpeedUnitsFeetPerSecond | ||
QGroundControl.settingsManager.unitsSettings.temperatureUnits.value = metric ? UnitsSettings.TemperatureUnitsCelsius : UnitsSettings.TemperatureUnitsFarenheit | ||
} | ||
} | ||
Repeater { | ||
model: [ QGroundControl.settingsManager.unitsSettings.distanceUnits, QGroundControl.settingsManager.unitsSettings.areaUnits, QGroundControl.settingsManager.unitsSettings.speedUnits, QGroundControl.settingsManager.unitsSettings.temperatureUnits ] | ||
FactComboBox { | ||
Layout.preferredWidth: _comboFieldWidth | ||
fact: modelData | ||
indexModel: false | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
module QGroundControl.Specific | ||
|
||
BaseStartupWizardPage 1.0 BaseStartupWizardPage.qml | ||
StartupWizard 1.0 StartupWizard.qml | ||
UnitsWizardPage 1.0 UnitsWizardPage.qml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters