src/eric7/MicroPython/NtpParametersDialog.py

Thu, 11 Jul 2024 14:21:34 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 11 Jul 2024 14:21:34 +0200
branch
eric7
changeset 10840
c8045d0dbaa7
parent 10439
21c28b0f9e41
child 11090
f5f5f5803935
permissions
-rw-r--r--

MicroPython
- Updated the list of known CircuitPython boards for CPy 9.1.0.
- Updated the list of known UF2 capable boards.

9868
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
10439
21c28b0f9e41 Updated copyright for 2024.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9868
diff changeset
3 # Copyright (c) 2023 - 2024 Detlev Offenbach <detlev@die-offenbachs.de>
9868
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to enter the NTP parameters.
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 from PyQt6.QtCore import pyqtSlot
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 from PyQt6.QtWidgets import QAbstractButton, QDialog, QDialogButtonBox
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 from eric7 import Preferences
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 from .Ui_NtpParametersDialog import Ui_NtpParametersDialog
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 class NtpParametersDialog(QDialog, Ui_NtpParametersDialog):
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 """
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 Class implementing a dialog to enter the NTP parameters.
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 """
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 def __init__(self, parent=None):
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 """
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 Constructor
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 @param parent reference to the parent widget (defaults to None)
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 @type QWidget (optional)
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 """
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 super().__init__(parent)
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 self.setupUi(self)
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 self.serverEdit.textChanged.connect(self.__updateOk)
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 self.serverEdit.setText(Preferences.getMicroPython("NtpServer"))
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 self.tzOffsetSpinBox.setValue(Preferences.getMicroPython("NtpOffset"))
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 self.dstCheckBox.setChecked(Preferences.getMicroPython("NtpDaylight"))
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 self.timeoutSpinBox.setValue(Preferences.getMicroPython("NtpTimeout"))
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 msh = self.minimumSizeHint()
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 self.resize(max(self.width(), msh.width()), msh.height())
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 @pyqtSlot()
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 def __updateOk(self):
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 """
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 Private slot to update the enabled stat of the OK button.
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 """
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 bool(self.serverEdit.text())
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 )
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 @pyqtSlot(QAbstractButton)
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 def on_buttonBox_clicked(self, button):
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 """
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 Private slot handling the selection of a dialog button.
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 @param button reference to the clicked button
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 @type QAbstractButton
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 """
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 if button == self.buttonBox.button(
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 QDialogButtonBox.StandardButton.RestoreDefaults
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 ):
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 self.serverEdit.setText(Preferences.Prefs.microPythonDefaults["NtpServer"])
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
64 self.tzOffsetSpinBox.setValue(
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 Preferences.Prefs.microPythonDefaults["NtpOffset"]
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
66 )
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 self.dstCheckBox.setChecked(
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
68 Preferences.Prefs.microPythonDefaults["NtpDaylight"]
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 )
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 self.timeoutSpinBox.setValue(
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71 Preferences.Prefs.microPythonDefaults["NtpTimeout"]
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 )
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
74 @pyqtSlot()
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 def accept(self):
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 """
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 Public slot accepting the dialog.
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
78 """
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
79 if self.rememberCheckBox.isChecked():
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80 Preferences.setMicroPython("NtpServer", self.serverEdit.text())
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 Preferences.setMicroPython("NtpOffset", self.tzOffsetSpinBox.value())
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 Preferences.setMicroPython("NtpDaylight", self.dstCheckBox.isChecked())
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 Preferences.setMicroPython("NtpTimeout", self.timeoutSpinBox.value())
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 super().accept()
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 def getParameters(self):
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88 """
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 Public method to get the entered NTP parameters.
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 @return tuple containing the NTP server name, the timezone offset in hours,
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 a flag indicating daylight savings is in effect and a timeout value in
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93 seconds
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
94 @rtype tuple of (str, int, bool, int)
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 """
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 return (
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 self.serverEdit.text(),
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 self.tzOffsetSpinBox.value(),
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 self.dstCheckBox.isChecked(),
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 self.timeoutSpinBox.value(),
467288cffee2 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 )

eric ide

mercurial