fix wifi setup flow
it didn't exit the tool properly in certain circumstances
This commit is contained in:
parent
bf1dc9cce0
commit
6580a954ce
@ -140,7 +140,7 @@ void WirelessSetupManager::loadNetworks()
|
||||
m_readingResponse = true;
|
||||
m_inputDataStream.clear();
|
||||
|
||||
setStatusText("WifiSetupManager: Loading wifi network list...");
|
||||
setStatusText("Loading wifi network list...");
|
||||
m_working = true;
|
||||
emit workingChanged();
|
||||
|
||||
@ -167,7 +167,7 @@ void WirelessSetupManager::loadCurrentConnection()
|
||||
m_readingResponse = false;
|
||||
m_inputDataStream.clear();
|
||||
|
||||
setStatusText("WifiSetupManager: Loading current connection data");
|
||||
setStatusText("Loading current connection data");
|
||||
m_working = true;
|
||||
emit workingChanged();
|
||||
|
||||
@ -191,7 +191,7 @@ void WirelessSetupManager::performWifiScan()
|
||||
return;
|
||||
}
|
||||
|
||||
setStatusText("WifiSetupManager: Perform refresh...");
|
||||
setStatusText("Perform refresh...");
|
||||
m_working = true;
|
||||
emit workingChanged();
|
||||
|
||||
|
||||
@ -22,26 +22,35 @@ Page {
|
||||
id: networkManager
|
||||
}
|
||||
|
||||
function setupDevice(btDeviceInfo) {
|
||||
function connectDevice(btDeviceInfo) {
|
||||
networkManager.bluetoothDeviceInfo = btDeviceInfo
|
||||
networkManager.connectDevice();
|
||||
pageStack.push(connectingPageComponent)
|
||||
print("**** connecting")
|
||||
pageStack.push(connectingPageComponent, {deviceName: btDeviceInfo.name})
|
||||
}
|
||||
|
||||
function setupDevice() {
|
||||
pageStack.pop(root, StackView.Immediate)
|
||||
if (networkManager.manager.currentConnection) {
|
||||
print("***** pushing WirelessSetupPage with networkManager:", networkManager)
|
||||
var page = pageStack.push(Qt.resolvedUrl("WirelessSetupPage.qml"), { networkManagerController: networkManager, nymeaDiscovery: root.nymeaDiscovery } )
|
||||
page.done.connect(function() {
|
||||
pageStack.pop(root, StackView.Immediate);
|
||||
pageStack.pop();
|
||||
})
|
||||
} else {
|
||||
var page = pageStack.push(Qt.resolvedUrl("ConnectWiFiPage.qml"), { networkManagerController: networkManager } )
|
||||
page.connected.connect(function() {
|
||||
setupDevice();
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: networkManager.manager
|
||||
onInitializedChanged: {
|
||||
if (networkManager.manager.initialized) {
|
||||
if (networkManager.manager.currentConnection) {
|
||||
print("***** pushing WirelessSetupPage with networkManager:", networkManager)
|
||||
pageStack.replace(Qt.resolvedUrl("WirelessSetupPage.qml"), { networkManagerController: networkManager, nymeaDiscovery: root.nymeaDiscovery } )
|
||||
} else {
|
||||
var page = pageStack.replace(Qt.resolvedUrl("ConnectWiFiPage.qml"), { networkManagerController: networkManager } )
|
||||
page.connected.connect(function() {
|
||||
print("connected signal received")
|
||||
pageStack.replace(page, Qt.resolvedUrl("WirelessSetupPage.qml", {NetworkManagerController: networkManager, nymeaDiscovery: root.nymeaDiscovery}))
|
||||
})
|
||||
}
|
||||
setupDevice()
|
||||
} else {
|
||||
pageStack.pop(root)
|
||||
}
|
||||
@ -85,7 +94,7 @@ Page {
|
||||
subText: model.address
|
||||
|
||||
onClicked: {
|
||||
root.setupDevice(bluetoothDiscovery.deviceInfos.get(index))
|
||||
root.connectDevice(bluetoothDiscovery.deviceInfos.get(index))
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -219,6 +228,8 @@ Page {
|
||||
onBackPressed: pageStack.pop()
|
||||
}
|
||||
|
||||
property string deviceName
|
||||
|
||||
ColumnLayout {
|
||||
anchors { left: parent.left; right: parent.right; verticalCenter: parent.verticalCenter; margins: app.margins }
|
||||
spacing: app.margins
|
||||
@ -227,21 +238,11 @@ Page {
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
running: true
|
||||
}
|
||||
|
||||
Label {
|
||||
id: workingMessage
|
||||
Layout.fillWidth: true
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
text: networkManager.manager.statusText
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
wrapMode: Text.WordWrap
|
||||
}
|
||||
|
||||
Label {
|
||||
id: initializingMessage
|
||||
Layout.fillWidth: true
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
text: networkManager.manager.initializing ? qsTr("Initializing services...") : ""
|
||||
text: qsTr("Connecting to %1").arg(connectingPage.deviceName)
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
wrapMode: Text.WordWrap
|
||||
}
|
||||
|
||||
@ -10,6 +10,8 @@ Page {
|
||||
property var networkManagerController: null
|
||||
property var nymeaDiscovery: null
|
||||
|
||||
signal done()
|
||||
|
||||
header: GuhHeader {
|
||||
text: qsTr("Wireless network setup")
|
||||
onBackPressed: {
|
||||
@ -101,6 +103,18 @@ Page {
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
|
||||
RowLayout {
|
||||
Layout.leftMargin: app.margins; Layout.rightMargin: app.margins
|
||||
visible: !connectButton.visible
|
||||
spacing: app.margins
|
||||
Label {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Waiting for the %1 box to appear in your network.").arg(app.systemName)
|
||||
wrapMode: Text.WordWrap
|
||||
}
|
||||
BusyIndicator { }
|
||||
}
|
||||
|
||||
Button {
|
||||
id: connectButton
|
||||
visible: url != ""
|
||||
@ -130,8 +144,7 @@ Page {
|
||||
Layout.leftMargin: app.margins; Layout.rightMargin: app.margins
|
||||
text: qsTr("Close wireless setup")
|
||||
onClicked: {
|
||||
pageStack.pop()
|
||||
pageStack.pop()
|
||||
root.done()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user