* style, Sweep.py: remove a double negation
* style, NanoVNASaver.py: simplify sweepSource computation
* Sweep.py: add getters and setters for private fields
Beware that this commit removes a lock from
SweepSettings.update_tex_power, and adds one to
DeviceSettings.updatecustomPoint.
Both changse may be incorrect, depending on the role of the lock
(issue #657).
Follows: 6eb24f23d09b55e1dbea311a
Since d09b55e1, the Properties.name class attribute is overriden by
each assignment to the properties.name instance attribute.
This is most probably unwanted.
This commit
* removes @dataclass, which is confusing as some attributes are
managed because of the lock.
Because of this, it has to restore __repr__ and __eq__.
* provides getters and setters for private attributes, and
protects each update by a thread lock
* adds a regression test for the bug fixed by d09b55e1 (immutable
properties).
Added icon_48x48.ico so that pyinstaller/auto-py-to-exe can create a Windows executable with the actual NanoVNA-Saver project icon instead of a generic Python icon. The .ico was created by converting the icon_48x48.png image.
"Files" button in control panel changed to "Files ..." to be consistent with other "..." actions where a user will take additional action after pressing the button.
Minor corrections in the Calibration page "Are you sure?" and "Calibration assistant" pop-ups where text was being run together. e.g. "doso" instead of "do so" etc.
Fix issue: #663
* option --auto-connect, connect automatically to the 1st detected device
* autoconnect only if there is exactly one device
Signed-off-by: Martin <Ho-Ro@users.noreply.github.com>