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_readingResponse = true;
|
||||||
m_inputDataStream.clear();
|
m_inputDataStream.clear();
|
||||||
|
|
||||||
setStatusText("WifiSetupManager: Loading wifi network list...");
|
setStatusText("Loading wifi network list...");
|
||||||
m_working = true;
|
m_working = true;
|
||||||
emit workingChanged();
|
emit workingChanged();
|
||||||
|
|
||||||
@ -167,7 +167,7 @@ void WirelessSetupManager::loadCurrentConnection()
|
|||||||
m_readingResponse = false;
|
m_readingResponse = false;
|
||||||
m_inputDataStream.clear();
|
m_inputDataStream.clear();
|
||||||
|
|
||||||
setStatusText("WifiSetupManager: Loading current connection data");
|
setStatusText("Loading current connection data");
|
||||||
m_working = true;
|
m_working = true;
|
||||||
emit workingChanged();
|
emit workingChanged();
|
||||||
|
|
||||||
@ -191,7 +191,7 @@ void WirelessSetupManager::performWifiScan()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
setStatusText("WifiSetupManager: Perform refresh...");
|
setStatusText("Perform refresh...");
|
||||||
m_working = true;
|
m_working = true;
|
||||||
emit workingChanged();
|
emit workingChanged();
|
||||||
|
|
||||||
|
|||||||
@ -22,26 +22,35 @@ Page {
|
|||||||
id: networkManager
|
id: networkManager
|
||||||
}
|
}
|
||||||
|
|
||||||
function setupDevice(btDeviceInfo) {
|
function connectDevice(btDeviceInfo) {
|
||||||
networkManager.bluetoothDeviceInfo = btDeviceInfo
|
networkManager.bluetoothDeviceInfo = btDeviceInfo
|
||||||
networkManager.connectDevice();
|
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 {
|
Connections {
|
||||||
target: networkManager.manager
|
target: networkManager.manager
|
||||||
onInitializedChanged: {
|
onInitializedChanged: {
|
||||||
if (networkManager.manager.initialized) {
|
if (networkManager.manager.initialized) {
|
||||||
if (networkManager.manager.currentConnection) {
|
setupDevice()
|
||||||
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}))
|
|
||||||
})
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
pageStack.pop(root)
|
pageStack.pop(root)
|
||||||
}
|
}
|
||||||
@ -85,7 +94,7 @@ Page {
|
|||||||
subText: model.address
|
subText: model.address
|
||||||
|
|
||||||
onClicked: {
|
onClicked: {
|
||||||
root.setupDevice(bluetoothDiscovery.deviceInfos.get(index))
|
root.connectDevice(bluetoothDiscovery.deviceInfos.get(index))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -219,6 +228,8 @@ Page {
|
|||||||
onBackPressed: pageStack.pop()
|
onBackPressed: pageStack.pop()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
property string deviceName
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
anchors { left: parent.left; right: parent.right; verticalCenter: parent.verticalCenter; margins: app.margins }
|
anchors { left: parent.left; right: parent.right; verticalCenter: parent.verticalCenter; margins: app.margins }
|
||||||
spacing: app.margins
|
spacing: app.margins
|
||||||
@ -227,21 +238,11 @@ Page {
|
|||||||
Layout.alignment: Qt.AlignHCenter
|
Layout.alignment: Qt.AlignHCenter
|
||||||
running: true
|
running: true
|
||||||
}
|
}
|
||||||
|
|
||||||
Label {
|
|
||||||
id: workingMessage
|
|
||||||
Layout.fillWidth: true
|
|
||||||
Layout.alignment: Qt.AlignHCenter
|
|
||||||
text: networkManager.manager.statusText
|
|
||||||
horizontalAlignment: Text.AlignHCenter
|
|
||||||
wrapMode: Text.WordWrap
|
|
||||||
}
|
|
||||||
|
|
||||||
Label {
|
Label {
|
||||||
id: initializingMessage
|
id: initializingMessage
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.alignment: Qt.AlignHCenter
|
Layout.alignment: Qt.AlignHCenter
|
||||||
text: networkManager.manager.initializing ? qsTr("Initializing services...") : ""
|
text: qsTr("Connecting to %1").arg(connectingPage.deviceName)
|
||||||
horizontalAlignment: Text.AlignHCenter
|
horizontalAlignment: Text.AlignHCenter
|
||||||
wrapMode: Text.WordWrap
|
wrapMode: Text.WordWrap
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,6 +10,8 @@ Page {
|
|||||||
property var networkManagerController: null
|
property var networkManagerController: null
|
||||||
property var nymeaDiscovery: null
|
property var nymeaDiscovery: null
|
||||||
|
|
||||||
|
signal done()
|
||||||
|
|
||||||
header: GuhHeader {
|
header: GuhHeader {
|
||||||
text: qsTr("Wireless network setup")
|
text: qsTr("Wireless network setup")
|
||||||
onBackPressed: {
|
onBackPressed: {
|
||||||
@ -101,6 +103,18 @@ Page {
|
|||||||
elide: Text.ElideRight
|
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 {
|
Button {
|
||||||
id: connectButton
|
id: connectButton
|
||||||
visible: url != ""
|
visible: url != ""
|
||||||
@ -130,8 +144,7 @@ Page {
|
|||||||
Layout.leftMargin: app.margins; Layout.rightMargin: app.margins
|
Layout.leftMargin: app.margins; Layout.rightMargin: app.margins
|
||||||
text: qsTr("Close wireless setup")
|
text: qsTr("Close wireless setup")
|
||||||
onClicked: {
|
onClicked: {
|
||||||
pageStack.pop()
|
root.done()
|
||||||
pageStack.pop()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user