kopia lustrzana https://github.com/NanoVNA-Saver/nanovna-saver
Limit updates of markers to the required parts of the code.
rodzic
55f7934df9
commit
38c3e01384
|
@ -31,7 +31,7 @@ class Marker(QtCore.QObject):
|
|||
|
||||
returnloss_is_positive = False
|
||||
|
||||
updated = pyqtSignal()
|
||||
updated = pyqtSignal(object)
|
||||
|
||||
def __init__(self, name, initialColor, frequency=""):
|
||||
super().__init__()
|
||||
|
@ -115,13 +115,8 @@ class Marker(QtCore.QObject):
|
|||
|
||||
def setFrequency(self, frequency):
|
||||
f = RFTools.parseFrequency(frequency)
|
||||
if f > 0:
|
||||
self.frequency = f
|
||||
self.updated.emit()
|
||||
else:
|
||||
self.frequency = 0
|
||||
self.updated.emit()
|
||||
return
|
||||
self.frequency = max(f, 0)
|
||||
self.updated.emit(self)
|
||||
|
||||
def setColor(self, color):
|
||||
if color.isValid():
|
||||
|
|
|
@ -291,7 +291,7 @@ class NanoVNASaver(QtWidgets.QWidget):
|
|||
default_color = QtGui.QColor(QtCore.Qt.darkGray)
|
||||
color = self.settings.value("Marker" + str(i+1) + "Color", default_color)
|
||||
marker = Marker("Marker " + str(i+1), color)
|
||||
marker.updated.connect(self.dataUpdated)
|
||||
marker.updated.connect(self.markerUpdated)
|
||||
label, layout = marker.getRow()
|
||||
self.marker_control_layout.addRow(label, layout)
|
||||
self.markers.append(marker)
|
||||
|
@ -685,6 +685,17 @@ class NanoVNASaver(QtWidgets.QWidget):
|
|||
else:
|
||||
self.sweepSource = strftime("%Y-%m-%d %H:%M:%S", localtime())
|
||||
|
||||
def markerUpdated(self, marker: Marker):
|
||||
if self.dataLock.acquire(blocking=True):
|
||||
marker.findLocation(self.data)
|
||||
for m in self.markers:
|
||||
m.resetLabels()
|
||||
m.updateLabels(self.data, self.data21)
|
||||
|
||||
for c in self.subscribing_charts:
|
||||
c.update()
|
||||
self.dataLock.release()
|
||||
|
||||
def dataUpdated(self):
|
||||
if self.dataLock.acquire(blocking=True):
|
||||
for m in self.markers:
|
||||
|
@ -1472,7 +1483,7 @@ class DisplaySettingsWindow(QtWidgets.QWidget):
|
|||
self.app.markers.append(new_marker)
|
||||
self.app.marker_data_layout.addWidget(new_marker.getGroupBox())
|
||||
|
||||
new_marker.updated.connect(self.app.dataUpdated)
|
||||
new_marker.updated.connect(self.app.markerUpdated)
|
||||
label, layout = new_marker.getRow()
|
||||
self.app.marker_control_layout.insertRow(marker_count, label, layout)
|
||||
if marker_count == 0:
|
||||
|
@ -1490,7 +1501,7 @@ class DisplaySettingsWindow(QtWidgets.QWidget):
|
|||
# Last marker removed.
|
||||
self.btn_remove_marker.setDisabled(True)
|
||||
|
||||
last_marker.updated.disconnect(self.app.dataUpdated)
|
||||
last_marker.updated.disconnect(self.app.markerUpdated)
|
||||
self.app.marker_data_layout.removeWidget(last_marker.getGroupBox())
|
||||
self.app.marker_control_layout.removeRow(len(self.app.markers))
|
||||
last_marker.getGroupBox().hide()
|
||||
|
|
Ładowanie…
Reference in New Issue