diff --git a/pytec/tec_qt.py b/pytec/tec_qt.py index 60cface..5ea713d 100644 --- a/pytec/tec_qt.py +++ b/pytec/tec_qt.py @@ -330,6 +330,32 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow): self.actionEnter_DFU_Mode.triggered.connect(dfu_mode) self.thermostat_menu.addAction(self.actionEnter_DFU_Mode) + @asyncSlot(bool) + async def network_settings(_): + ask_network = QtWidgets.QInputDialog(self) + ask_network.setWindowTitle(_translate("MainWindow", "Network Settings")) + ask_network.setLabelText(_translate("MainWindow", "Set the Thermostat's IPv4 address, netmask and gateway (optional)")) + ask_network.setTextValue((await self.client.ipv4())['addr']) + + @pyqtSlot(str) + def set_ipv4(ipv4_settings): + sure = QtWidgets.QMessageBox(self) + sure.setWindowTitle(_translate("MainWindow", "Set network?")) + sure.setText(f"Setting this as network and disconnecting:
{ipv4_settings}") + + @asyncSlot(object) + async def really_set(button): + await self.client.set_param("ipv4", ipv4_settings) + await self.client.disconnect() + + await self._on_connection_changed(False) + + sure.buttonClicked.connect(really_set) + sure.show() + ask_network.textValueSelected.connect(set_ipv4) + ask_network.show() + + self.actionNetwork_Settings.triggered.connect(network_settings) self.thermostat_menu.addAction(self.actionNetwork_Settings) @asyncSlot(bool)