dataclass fix for python3.11 compatability

pull/572/head
Holger Müller 2022-12-08 17:26:17 +01:00
rodzic fb50f4a01b
commit fa03e7d753
4 zmienionych plików z 59 dodań i 39 usunięć

Wyświetl plik

@ -18,11 +18,12 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>. # along with this program. If not, see <https://www.gnu.org/licenses/>.
import logging import logging
from dataclasses import dataclass, replace from dataclasses import dataclass, field, replace
from typing import List, Set, Tuple, ClassVar, Any, Optional from typing import List, Set, Tuple, ClassVar, Any, Optional
from PyQt5 import QtWidgets, QtGui, QtCore from PyQt5 import QtWidgets, QtGui, QtCore
from PyQt5.QtCore import pyqtSignal from PyQt5.QtCore import pyqtSignal
from PyQt5.QtGui import QColor
from NanoVNASaver import Defaults from NanoVNASaver import Defaults
from NanoVNASaver.RFTools import Datapoint from NanoVNASaver.RFTools import Datapoint
@ -33,15 +34,18 @@ logger = logging.getLogger(__name__)
@dataclass @dataclass
class ChartColors: # pylint: disable=too-many-instance-attributes class ChartColors: # pylint: disable=too-many-instance-attributes
background: QtGui.QColor = QtGui.QColor(QtCore.Qt.white) background: QColor = field(default_factory=lambda: QColor(QtCore.Qt.white))
foreground: QtGui.QColor = QtGui.QColor(QtCore.Qt.lightGray) foreground: QColor = field(
reference: QtGui.QColor = QtGui.QColor(0, 0, 255, 64) default_factory=lambda: QColor(QtCore.Qt.lightGray))
reference_secondary: QtGui.QColor = QtGui.QColor(0, 0, 192, 48) reference: QColor = field(default_factory=lambda: QColor(0, 0, 255, 64))
sweep: QtGui.QColor = QtGui.QColor(QtCore.Qt.darkYellow) reference_secondary: QColor = field(
sweep_secondary: QtGui.QColor = QtGui.QColor(QtCore.Qt.darkMagenta) default_factory=lambda: QColor(0, 0, 192, 48))
swr: QtGui.QColor = QtGui.QColor(255, 0, 0, 128) sweep: QColor = field(default_factory=lambda: QColor(QtCore.Qt.darkYellow))
text: QtGui.QColor = QtGui.QColor(QtCore.Qt.black) sweep_secondary: QColor = field(
bands: QtGui.QColor = QtGui.QColor(128, 128, 128, 48) default_factory=lambda: QColor(QtCore.Qt.darkMagenta))
swr: QColor = field(default_factory=lambda: QColor(255, 0, 0, 128))
text: QColor = field(default_factory=lambda: QColor(QtCore.Qt.black))
bands: QColor = field(default_factory=lambda: QColor(128, 128, 128, 48))
@dataclass @dataclass

Wyświetl plik

@ -68,15 +68,23 @@ class Chart:
@DC.dataclass @DC.dataclass
class ChartColors: # pylint: disable=too-many-instance-attributes class ChartColors: # pylint: disable=too-many-instance-attributes
background: QColor = QColor(QtCore.Qt.white) background: QColor = DC.field(
foreground: QColor = QColor(QtCore.Qt.lightGray) default_factory=lambda: QColor(QtCore.Qt.white))
reference: QColor = QColor(0, 0, 255, 64) foreground: QColor = DC.field(
reference_secondary: QColor = QColor(0, 0, 192, 48) default_factory=lambda: QColor(QtCore.Qt.lightGray))
sweep: QColor = QColor(QtCore.Qt.darkYellow) reference: QColor = DC.field(default_factory=lambda: QColor(0, 0, 255, 64))
sweep_secondary: QColor = QColor(QtCore.Qt.darkMagenta) reference_secondary: QColor = DC.field(
swr: QColor = QColor(255, 0, 0, 128) default_factory=lambda: QColor(0, 0, 192, 48))
text: QColor = QColor(QtCore.Qt.black) sweep: QColor = DC.field(
bands: QColor = QColor(128, 128, 128, 48) default_factory=lambda: QColor(QtCore.Qt.darkYellow))
sweep_secondary: QColor = DC.field(
default_factory=lambda: QColor(QtCore.Qt.darkMagenta))
swr: QColor = DC.field(
default_factory=lambda: QColor(255, 0, 0, 128))
text: QColor = DC.field(
default_factory=lambda: QColor(QtCore.Qt.black))
bands: QColor = DC.field(
default_factory=lambda: QColor(128, 128, 128, 48))
@DC.dataclass @DC.dataclass
@ -86,23 +94,30 @@ class Markers:
"vswr", "returnloss", "s11q", "s11phase", "s21gain", "s21phase", "vswr", "returnloss", "s11q", "s11phase", "s21gain", "s21phase",
]) ])
colored_names: bool = True colored_names: bool = True
color_0: QColor = QColor(QtCore.Qt.darkGray) color_0: QColor = DC.field(
color_1: QColor = QColor(255, 0, 0) default_factory=lambda: QColor(QtCore.Qt.darkGray))
color_2: QColor = QColor(0, 255, 0) color_1: QColor = DC.field(default_factory=lambda: QColor(255, 0, 0))
color_3: QColor = QColor(0, 0, 255) color_2: QColor = DC.field(default_factory=lambda: QColor(0, 255, 0))
color_4: QColor = QColor(0, 255, 255) color_3: QColor = DC.field(default_factory=lambda: QColor(0, 0, 255))
color_5: QColor = QColor(255, 0, 255) color_4: QColor = DC.field(default_factory=lambda: QColor(0, 255, 255))
color_6: QColor = QColor(255, 255, 0) color_5: QColor = DC.field(default_factory=lambda: QColor(255, 0, 255))
color_7: QColor = QColor(QtCore.Qt.lightGray) color_6: QColor = DC.field(default_factory=lambda: QColor(255, 255, 0))
color_7: QColor = DC.field(
default_factory=lambda: QColor(QtCore.Qt.lightGray))
@DC.dataclass @DC.dataclass
class CFG: class CFG:
gui: object = GUI() gui: object = DC.field(
charts_selected: object = ChartsSelected() default_factory=lambda: GUI())
chart: object = Chart() charts_selected: object = DC.field(
chart_colors: object = ChartColors() default_factory=lambda: ChartsSelected())
markers: object = Markers() chart: object = DC.field(
default_factory=lambda: Chart())
chart_colors: object = DC.field(
default_factory=lambda: ChartColors())
markers: object = DC.field(
default_factory=lambda: Markers())
cfg = CFG() cfg = CFG()

Wyświetl plik

@ -350,21 +350,22 @@ class DisplaySettingsWindow(QtWidgets.QWidget):
self.changeChart(1, 1, chart11_selection.currentText()) self.changeChart(1, 1, chart11_selection.currentText())
self.changeChart(1, 2, chart12_selection.currentText()) self.changeChart(1, 2, chart12_selection.currentText())
chart_colors = ChartColors()
Chart.color.background = self.app.settings.value( Chart.color.background = self.app.settings.value(
"BackgroundColor", defaultValue=ChartColors.background, "BackgroundColor", defaultValue=chart_colors.background,
type=QtGui.QColor) type=QtGui.QColor)
Chart.color.foreground = self.app.settings.value( Chart.color.foreground = self.app.settings.value(
"ForegroundColor", defaultValue=ChartColors.foreground, "ForegroundColor", defaultValue=chart_colors.foreground,
type=QtGui.QColor) type=QtGui.QColor)
Chart.color.text = self.app.settings.value( Chart.color.text = self.app.settings.value(
"TextColor", defaultValue=ChartColors.text, "TextColor", defaultValue=chart_colors.text,
type=QtGui.QColor) type=QtGui.QColor)
self.bandsColor = self.app.settings.value( self.bandsColor = self.app.settings.value(
"BandsColor", defaultValue=ChartColors.bands, "BandsColor", defaultValue=chart_colors.bands,
type=QtGui.QColor) type=QtGui.QColor)
self.app.bands.color = Chart.color.bands self.app.bands.color = Chart.color.bands
Chart.color.swr = self.app.settings.value( Chart.color.swr = self.app.settings.value(
"VSWRColor", defaultValue=ChartColors.swr, "VSWRColor", defaultValue=chart_colors.swr,
type=QtGui.QColor) type=QtGui.QColor)
self.dark_mode_option.setChecked(Defaults.cfg.gui.dark_mode) self.dark_mode_option.setChecked(Defaults.cfg.gui.dark_mode)

Wyświetl plik

@ -1,5 +1,5 @@
pyserial==3.5 pyserial==3.5
PyQt5==5.15.7 PyQt5==5.15.7
numpy==1.23.3 numpy==1.23.5
scipy==1.9.1 scipy==1.9.3
Cython==0.29.32 Cython==0.29.32