not1mm 24.11.21__py3-none-any.whl → 24.12.3.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- not1mm/__main__.py +65 -66
- not1mm/bandmap.py +9 -0
- not1mm/data/bandmap.ui +43 -12
- not1mm/data/configuration.ui +77 -67
- not1mm/data/donors.html +4 -0
- not1mm/data/new_contest.ui +5 -0
- not1mm/lib/cat_interface.py +24 -14
- not1mm/lib/database.py +17 -0
- not1mm/lib/settings.py +5 -0
- not1mm/lib/version.py +1 -1
- not1mm/plugins/10_10_fall_cw.py +91 -0
- not1mm/plugins/10_10_spring_cw.py +91 -0
- not1mm/plugins/10_10_summer_phone.py +91 -0
- not1mm/plugins/10_10_winter_phone.py +91 -0
- not1mm/plugins/arrl_10m.py +110 -0
- not1mm/plugins/arrl_160m.py +543 -0
- not1mm/plugins/arrl_vhf_jan.py +92 -1
- not1mm/plugins/arrl_vhf_jun.py +92 -1
- not1mm/plugins/arrl_vhf_sep.py +95 -1
- not1mm/plugins/cq_160_cw.py +94 -5
- not1mm/plugins/cq_160_ssb.py +94 -5
- not1mm/plugins/cq_ww_cw.py +14 -5
- not1mm/plugins/cq_ww_ssb.py +13 -5
- not1mm/plugins/iaru_fieldday_r1_cw.py +91 -0
- not1mm/plugins/iaru_fieldday_r1_ssb.py +91 -0
- not1mm/plugins/iaru_hf.py +110 -0
- not1mm/radio.py +5 -4
- {not1mm-24.11.21.dist-info → not1mm-24.12.3.1.dist-info}/METADATA +28 -38
- {not1mm-24.11.21.dist-info → not1mm-24.12.3.1.dist-info}/RECORD +33 -32
- {not1mm-24.11.21.dist-info → not1mm-24.12.3.1.dist-info}/LICENSE +0 -0
- {not1mm-24.11.21.dist-info → not1mm-24.12.3.1.dist-info}/WHEEL +0 -0
- {not1mm-24.11.21.dist-info → not1mm-24.12.3.1.dist-info}/entry_points.txt +0 -0
- {not1mm-24.11.21.dist-info → not1mm-24.12.3.1.dist-info}/top_level.txt +0 -0
not1mm/__main__.py
CHANGED
@@ -256,7 +256,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
256
256
|
self.actionNew_Database.triggered.connect(self.new_database)
|
257
257
|
self.actionOpen_Database.triggered.connect(self.open_database)
|
258
258
|
|
259
|
-
self.actionEdit_Macros.triggered.connect(self.
|
259
|
+
self.actionEdit_Macros.triggered.connect(self.edit_macros)
|
260
260
|
|
261
261
|
self.actionAbout.triggered.connect(self.show_about_dialog)
|
262
262
|
self.actionHotKeys.triggered.connect(self.show_key_help)
|
@@ -659,7 +659,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
659
659
|
self.show_splash_msg("Loading contest.")
|
660
660
|
self.load_contest()
|
661
661
|
self.show_splash_msg("Reading macros.")
|
662
|
-
self.
|
662
|
+
self.read_macros()
|
663
663
|
|
664
664
|
self.show_splash_msg("Starting FlDigi watcher.")
|
665
665
|
self.fldigi_watcher = FlDigiWatcher()
|
@@ -1627,6 +1627,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
1627
1627
|
cmd["COLUMNS"] = self.contest.columns
|
1628
1628
|
if self.log_window:
|
1629
1629
|
self.log_window.msg_from_main(cmd)
|
1630
|
+
self.read_macros()
|
1630
1631
|
|
1631
1632
|
def check_for_new_cty(self) -> None:
|
1632
1633
|
"""
|
@@ -1730,7 +1731,6 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
1730
1731
|
"""
|
1731
1732
|
|
1732
1733
|
self.show_message_box(
|
1733
|
-
"[Esc]\tClears the input fields of any text.\n"
|
1734
1734
|
"[CTRL-Esc]\tStops cwdaemon from sending Morse.\n"
|
1735
1735
|
"[PgUp]\tIncreases the cw sending speed.\n"
|
1736
1736
|
"[PgDown]\tDecreases the cw sending speed.\n"
|
@@ -1750,6 +1750,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
1750
1750
|
"[CTRL-S]\tSpot Callsign to the cluster.\n"
|
1751
1751
|
"[CTRL-SHIFT-K] Open CW text input field.\n"
|
1752
1752
|
"[CTRL-=]\tLog the contact without sending the ESM macros.\n"
|
1753
|
+
"[CTRL-W]\tClears the input fields of any text.\n"
|
1753
1754
|
)
|
1754
1755
|
|
1755
1756
|
def filepicker(self, action: str) -> str:
|
@@ -2086,14 +2087,14 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
2086
2087
|
self.bandmap_window.msg_from_main(cmd)
|
2087
2088
|
return
|
2088
2089
|
if (
|
2089
|
-
event.key() == Qt.Key.
|
2090
|
-
and modifier
|
2090
|
+
event.key() == Qt.Key.Key_W
|
2091
|
+
and modifier == Qt.KeyboardModifier.ControlModifier
|
2091
2092
|
): # pylint: disable=no-member
|
2092
2093
|
self.clearinputs()
|
2093
2094
|
return
|
2094
2095
|
if (
|
2095
2096
|
event.key() == Qt.Key.Key_Escape
|
2096
|
-
and modifier
|
2097
|
+
and modifier != Qt.KeyboardModifier.ControlModifier
|
2097
2098
|
):
|
2098
2099
|
if self.cw is not None:
|
2099
2100
|
if self.cw.servertype == 1:
|
@@ -2804,7 +2805,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
2804
2805
|
"""
|
2805
2806
|
self.pref["run_state"] = self.radioButton_run.isChecked()
|
2806
2807
|
self.write_preference()
|
2807
|
-
self.
|
2808
|
+
self.read_macros()
|
2808
2809
|
self.check_esm()
|
2809
2810
|
|
2810
2811
|
def write_preference(self) -> None:
|
@@ -2919,6 +2920,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
2919
2920
|
self.pref.get("CAT_ip", "127.0.0.1"),
|
2920
2921
|
int(self.pref.get("CAT_port", 12345)),
|
2921
2922
|
)
|
2923
|
+
self.rig_control.delta = int(self.pref.get("CAT_polldelta", 555))
|
2922
2924
|
self.rig_control.moveToThread(self.radio_thread)
|
2923
2925
|
self.radio_thread.started.connect(self.rig_control.run)
|
2924
2926
|
self.radio_thread.finished.connect(self.rig_control.deleteLater)
|
@@ -2935,6 +2937,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
2935
2937
|
self.pref.get("CAT_ip", "127.0.0.1"),
|
2936
2938
|
int(self.pref.get("CAT_port", 4532)),
|
2937
2939
|
)
|
2940
|
+
self.rig_control.delta = int(self.pref.get("CAT_polldelta", 555))
|
2938
2941
|
self.rig_control.moveToThread(self.radio_thread)
|
2939
2942
|
self.radio_thread.started.connect(self.rig_control.run)
|
2940
2943
|
self.radio_thread.finished.connect(self.rig_control.deleteLater)
|
@@ -2946,6 +2949,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
2946
2949
|
self.pref.get("CAT_ip", "127.0.0.1"),
|
2947
2950
|
int(self.pref.get("CAT_port", 0000)),
|
2948
2951
|
)
|
2952
|
+
self.rig_control.delta = int(self.pref.get("CAT_polldelta", 555))
|
2949
2953
|
self.rig_control.moveToThread(self.radio_thread)
|
2950
2954
|
self.radio_thread.started.connect(self.rig_control.run)
|
2951
2955
|
self.radio_thread.finished.connect(self.rig_control.deleteLater)
|
@@ -3351,7 +3355,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3351
3355
|
self.set_band_indicator(band)
|
3352
3356
|
self.set_window_title()
|
3353
3357
|
self.clearinputs()
|
3354
|
-
self.
|
3358
|
+
self.read_macros()
|
3355
3359
|
return
|
3356
3360
|
if mode in (
|
3357
3361
|
"DIGI-U",
|
@@ -3372,7 +3376,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3372
3376
|
self.set_band_indicator(band)
|
3373
3377
|
self.set_window_title()
|
3374
3378
|
self.clearinputs()
|
3375
|
-
self.
|
3379
|
+
self.read_macros()
|
3376
3380
|
return
|
3377
3381
|
if mode == "SSB":
|
3378
3382
|
if intended_freq:
|
@@ -3393,7 +3397,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3393
3397
|
self.set_band_indicator(band)
|
3394
3398
|
self.set_window_title()
|
3395
3399
|
self.clearinputs()
|
3396
|
-
self.
|
3400
|
+
self.read_macros()
|
3397
3401
|
|
3398
3402
|
def check_callsign(self, callsign) -> None:
|
3399
3403
|
"""
|
@@ -3480,7 +3484,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3480
3484
|
self.current_mode = "CW"
|
3481
3485
|
self.sent.setText("599")
|
3482
3486
|
self.receive.setText("599")
|
3483
|
-
self.
|
3487
|
+
self.read_macros()
|
3484
3488
|
if self.contest:
|
3485
3489
|
if self.contest.name == "ICWC Medium Speed Test":
|
3486
3490
|
self.contest.prefill(self)
|
@@ -3490,14 +3494,14 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3490
3494
|
self.current_mode = "SSB"
|
3491
3495
|
self.sent.setText("59")
|
3492
3496
|
self.receive.setText("59")
|
3493
|
-
self.
|
3497
|
+
self.read_macros()
|
3494
3498
|
return
|
3495
3499
|
if mode in ("RTTY", "DIGI-U", "DIGI-L"):
|
3496
3500
|
if self.current_mode != "RTTY":
|
3497
3501
|
self.current_mode = "RTTY"
|
3498
3502
|
self.sent.setText("599")
|
3499
3503
|
self.receive.setText("599")
|
3500
|
-
self.
|
3504
|
+
self.read_macros()
|
3501
3505
|
|
3502
3506
|
def get_opon(self) -> None:
|
3503
3507
|
"""
|
@@ -3542,6 +3546,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3542
3546
|
self.opon_dialog.close()
|
3543
3547
|
logger.debug("New Op: %s", self.current_op)
|
3544
3548
|
self.make_op_dir()
|
3549
|
+
self.set_window_title()
|
3545
3550
|
|
3546
3551
|
def make_op_dir(self) -> None:
|
3547
3552
|
"""
|
@@ -3664,18 +3669,13 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3664
3669
|
except TypeError as err:
|
3665
3670
|
logger.debug(f"{err=} {vfo=} {the_dict=}")
|
3666
3671
|
|
3667
|
-
def
|
3668
|
-
"""
|
3669
|
-
|
3670
|
-
|
3671
|
-
|
3672
|
-
|
3673
|
-
|
3674
|
-
|
3675
|
-
Returns
|
3676
|
-
-------
|
3677
|
-
None
|
3678
|
-
"""
|
3672
|
+
def get_macro_filename(self):
|
3673
|
+
""""""
|
3674
|
+
# Have not1mm check in USER_DATA_PATH for the existence of a folder with the contests name.
|
3675
|
+
# If it exists, check to see if a cw/ssb/rtty macro files exists within it and load them before
|
3676
|
+
# falling back to the default ones.
|
3677
|
+
# If user selects menu option to edit the current macro file, make the previous checks, if the
|
3678
|
+
# specific one does not exist, copy the default to the contest directory and edit that copy.
|
3679
3679
|
if self.radio_state.get("mode") in ("CW", "CW-L", "CW-R", "CWR"):
|
3680
3680
|
macro_file = "cwmacros.txt"
|
3681
3681
|
elif self.radio_state.get("mode") in (
|
@@ -3695,8 +3695,14 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3695
3695
|
macro_file = "rttymacros.txt"
|
3696
3696
|
else:
|
3697
3697
|
macro_file = "ssbmacros.txt"
|
3698
|
+
|
3699
|
+
try:
|
3700
|
+
if not (fsutils.USER_DATA_PATH / self.contest.name).exists():
|
3701
|
+
os.mkdir(fsutils.USER_DATA_PATH / self.contest.name)
|
3702
|
+
except AttributeError:
|
3703
|
+
return ""
|
3704
|
+
|
3698
3705
|
if not (fsutils.USER_DATA_PATH / macro_file).exists():
|
3699
|
-
logger.debug("copying default macro file.")
|
3700
3706
|
try:
|
3701
3707
|
copyfile(
|
3702
3708
|
fsutils.APP_DATA_PATH / macro_file,
|
@@ -3704,57 +3710,50 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3704
3710
|
)
|
3705
3711
|
except IOError as err:
|
3706
3712
|
logger.critical(f"Error {err} copying macro file.")
|
3713
|
+
|
3714
|
+
if not (fsutils.USER_DATA_PATH / self.contest.name / macro_file).exists():
|
3715
|
+
try:
|
3716
|
+
copyfile(
|
3717
|
+
fsutils.APP_DATA_PATH / macro_file,
|
3718
|
+
fsutils.USER_DATA_PATH / self.contest.name / macro_file,
|
3719
|
+
)
|
3720
|
+
except IOError as err:
|
3721
|
+
logger.critical(f"Error {err} copying macro file.")
|
3722
|
+
|
3723
|
+
return fsutils.USER_DATA_PATH / self.contest.name / macro_file
|
3724
|
+
|
3725
|
+
def edit_macros(self) -> None:
|
3726
|
+
"""
|
3727
|
+
Calls the default text editor to edit the CW macro file.
|
3728
|
+
|
3729
|
+
Parameters
|
3730
|
+
----------
|
3731
|
+
None
|
3732
|
+
|
3733
|
+
Returns
|
3734
|
+
-------
|
3735
|
+
None
|
3736
|
+
"""
|
3737
|
+
|
3738
|
+
macro_file = self.get_macro_filename()
|
3739
|
+
|
3707
3740
|
try:
|
3708
|
-
fsutils.openFileWithOS(
|
3741
|
+
fsutils.openFileWithOS(macro_file)
|
3709
3742
|
except FileNotFoundError | PermissionError | OSError as err:
|
3710
|
-
logger.critical(
|
3711
|
-
|
3712
|
-
)
|
3713
|
-
self.read_cw_macros()
|
3743
|
+
logger.critical(f"Could not open file {macro_file} {err}")
|
3744
|
+
self.read_macros()
|
3714
3745
|
|
3715
|
-
def
|
3746
|
+
def read_macros(self) -> None:
|
3716
3747
|
"""
|
3717
3748
|
Reads in the CW macros, firsts it checks to see if the file exists. If it does not,
|
3718
3749
|
and this has been packaged with pyinstaller it will copy the default file from the
|
3719
3750
|
temp directory this is running from... In theory.
|
3720
3751
|
"""
|
3721
3752
|
|
3722
|
-
|
3723
|
-
"CW",
|
3724
|
-
"CW-L",
|
3725
|
-
"CW-R",
|
3726
|
-
):
|
3727
|
-
macro_file = "cwmacros.txt"
|
3728
|
-
elif self.radio_state.get("mode") in (
|
3729
|
-
"RTTY",
|
3730
|
-
"RTTY-R",
|
3731
|
-
"LSB-D",
|
3732
|
-
"USB-D",
|
3733
|
-
"AM-D",
|
3734
|
-
"FM-D",
|
3735
|
-
"DIGI-U",
|
3736
|
-
"DIGI-L",
|
3737
|
-
"RTTYR",
|
3738
|
-
"PKTLSB",
|
3739
|
-
"PKTUSB",
|
3740
|
-
):
|
3741
|
-
macro_file = "rttymacros.txt"
|
3742
|
-
else:
|
3743
|
-
macro_file = "ssbmacros.txt"
|
3753
|
+
macro_file = self.get_macro_filename()
|
3744
3754
|
|
3745
|
-
if not (fsutils.USER_DATA_PATH / macro_file).exists():
|
3746
|
-
logger.debug("copying default macro file.")
|
3747
|
-
try:
|
3748
|
-
copyfile(
|
3749
|
-
fsutils.APP_DATA_PATH / macro_file,
|
3750
|
-
fsutils.USER_DATA_PATH / macro_file,
|
3751
|
-
)
|
3752
|
-
except IOError as err:
|
3753
|
-
logger.critical(f"Error {err} copying macro file.")
|
3754
3755
|
try:
|
3755
|
-
with open(
|
3756
|
-
fsutils.USER_DATA_PATH / macro_file, "r", encoding="utf-8"
|
3757
|
-
) as file_descriptor:
|
3756
|
+
with open(macro_file, "r", encoding="utf-8") as file_descriptor:
|
3758
3757
|
for line in file_descriptor:
|
3759
3758
|
mode, fkey, buttonname, cwtext = line.split("|")
|
3760
3759
|
if mode.strip().upper() == "R" and self.pref.get("run_state"):
|
not1mm/bandmap.py
CHANGED
@@ -311,6 +311,10 @@ class Database:
|
|
311
311
|
(f"-{minutes} minutes",),
|
312
312
|
)
|
313
313
|
|
314
|
+
def delete_marks(self) -> None:
|
315
|
+
"""Delete marked spots."""
|
316
|
+
self.cursor.execute("delete from spots where ts > datetime('now');")
|
317
|
+
|
314
318
|
|
315
319
|
class BandMapWindow(QDockWidget):
|
316
320
|
"""The BandMapWindow class."""
|
@@ -345,6 +349,7 @@ class BandMapWindow(QDockWidget):
|
|
345
349
|
self.agetime = self.clear_spot_olderSpinBox.value()
|
346
350
|
self.clear_spot_olderSpinBox.valueChanged.connect(self.spot_aging_changed)
|
347
351
|
self.clearButton.clicked.connect(self.clear_spots)
|
352
|
+
self.clearmarkedButton.clicked.connect(self.clear_marked)
|
348
353
|
self.zoominButton.clicked.connect(self.dec_zoom)
|
349
354
|
self.zoomoutButton.clicked.connect(self.inc_zoom)
|
350
355
|
self.connectButton.clicked.connect(self.connect)
|
@@ -873,6 +878,10 @@ class BandMapWindow(QDockWidget):
|
|
873
878
|
"""Delete all spots from the database."""
|
874
879
|
self.spots.delete_spots(0)
|
875
880
|
|
881
|
+
def clear_marked(self) -> None:
|
882
|
+
"""Delete all marked spots."""
|
883
|
+
self.spots.delete_marks()
|
884
|
+
|
876
885
|
def spot_aging_changed(self) -> None:
|
877
886
|
"""Called when spot aging spinbox is changed."""
|
878
887
|
self.agetime = self.clear_spot_olderSpinBox.value()
|
not1mm/data/bandmap.ui
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<rect>
|
7
7
|
<x>0</x>
|
8
8
|
<y>0</y>
|
9
|
-
<width>
|
9
|
+
<width>342</width>
|
10
10
|
<height>700</height>
|
11
11
|
</rect>
|
12
12
|
</property>
|
@@ -97,7 +97,7 @@
|
|
97
97
|
<rect>
|
98
98
|
<x>0</x>
|
99
99
|
<y>0</y>
|
100
|
-
<width>
|
100
|
+
<width>326</width>
|
101
101
|
<height>512</height>
|
102
102
|
</rect>
|
103
103
|
</property>
|
@@ -148,18 +148,49 @@
|
|
148
148
|
<enum>Qt::NoFocus</enum>
|
149
149
|
</property>
|
150
150
|
<property name="accessibleName">
|
151
|
-
<string>clear
|
151
|
+
<string>clear spots</string>
|
152
152
|
</property>
|
153
153
|
<property name="accessibleDescription">
|
154
154
|
<string>clear spots</string>
|
155
155
|
</property>
|
156
|
+
<property name="maximumSize">
|
157
|
+
<size>
|
158
|
+
<width>1110</width>
|
159
|
+
<height>27</height>
|
160
|
+
</size>
|
161
|
+
</property>
|
162
|
+
<property name="text">
|
163
|
+
<string>🗑 Spots</string>
|
164
|
+
</property>
|
165
|
+
</widget>
|
166
|
+
</item>
|
167
|
+
<item>
|
168
|
+
<widget class="QPushButton" name="clearmarkedButton">
|
169
|
+
<property name="minimumSize">
|
170
|
+
<size>
|
171
|
+
<width>110</width>
|
172
|
+
<height>0</height>
|
173
|
+
</size>
|
174
|
+
</property>
|
175
|
+
<property name="maximumSize">
|
176
|
+
<size>
|
177
|
+
<width>1110</width>
|
178
|
+
<height>27</height>
|
179
|
+
</size>
|
180
|
+
</property>
|
156
181
|
<property name="text">
|
157
|
-
<string
|
182
|
+
<string>🗑 Marked</string>
|
158
183
|
</property>
|
159
184
|
</widget>
|
160
185
|
</item>
|
161
186
|
<item>
|
162
187
|
<widget class="QPushButton" name="zoominButton">
|
188
|
+
<property name="maximumSize">
|
189
|
+
<size>
|
190
|
+
<width>27</width>
|
191
|
+
<height>27</height>
|
192
|
+
</size>
|
193
|
+
</property>
|
163
194
|
<property name="focusPolicy">
|
164
195
|
<enum>Qt::NoFocus</enum>
|
165
196
|
</property>
|
@@ -170,12 +201,18 @@
|
|
170
201
|
<string>zoom in</string>
|
171
202
|
</property>
|
172
203
|
<property name="text">
|
173
|
-
<string
|
204
|
+
<string>➕</string>
|
174
205
|
</property>
|
175
206
|
</widget>
|
176
207
|
</item>
|
177
208
|
<item>
|
178
209
|
<widget class="QPushButton" name="zoomoutButton">
|
210
|
+
<property name="maximumSize">
|
211
|
+
<size>
|
212
|
+
<width>27</width>
|
213
|
+
<height>27</height>
|
214
|
+
</size>
|
215
|
+
</property>
|
179
216
|
<property name="focusPolicy">
|
180
217
|
<enum>Qt::NoFocus</enum>
|
181
218
|
</property>
|
@@ -186,7 +223,7 @@
|
|
186
223
|
<string>zoom out</string>
|
187
224
|
</property>
|
188
225
|
<property name="text">
|
189
|
-
<string
|
226
|
+
<string>➖</string>
|
190
227
|
</property>
|
191
228
|
</widget>
|
192
229
|
</item>
|
@@ -205,12 +242,6 @@
|
|
205
242
|
</property>
|
206
243
|
<item>
|
207
244
|
<widget class="QLabel" name="clear_spot_olderLabel">
|
208
|
-
<property name="font">
|
209
|
-
<font>
|
210
|
-
<family>JetBrains Mono ExtraLight</family>
|
211
|
-
<pointsize>11</pointsize>
|
212
|
-
</font>
|
213
|
-
</property>
|
214
245
|
<property name="text">
|
215
246
|
<string>Clear older than </string>
|
216
247
|
</property>
|
not1mm/data/configuration.ui
CHANGED
@@ -377,6 +377,43 @@
|
|
377
377
|
<string>CAT</string>
|
378
378
|
</attribute>
|
379
379
|
<layout class="QGridLayout" name="gridLayout_4">
|
380
|
+
<item row="1" column="3">
|
381
|
+
<widget class="QLineEdit" name="rigcontrolport_field">
|
382
|
+
<property name="font">
|
383
|
+
<font>
|
384
|
+
<family>JetBrains Mono ExtraLight</family>
|
385
|
+
<pointsize>12</pointsize>
|
386
|
+
<bold>false</bold>
|
387
|
+
<strikeout>false</strikeout>
|
388
|
+
</font>
|
389
|
+
</property>
|
390
|
+
<property name="accessibleName">
|
391
|
+
<string>port number</string>
|
392
|
+
</property>
|
393
|
+
<property name="accessibleDescription">
|
394
|
+
<string>port number of rig control d or f l rig.</string>
|
395
|
+
</property>
|
396
|
+
<property name="inputMethodHints">
|
397
|
+
<set>Qt::InputMethodHint::ImhDigitsOnly</set>
|
398
|
+
</property>
|
399
|
+
<property name="text">
|
400
|
+
<string>4532</string>
|
401
|
+
</property>
|
402
|
+
</widget>
|
403
|
+
</item>
|
404
|
+
<item row="5" column="0" colspan="4">
|
405
|
+
<spacer name="verticalSpacer_3">
|
406
|
+
<property name="orientation">
|
407
|
+
<enum>Qt::Vertical</enum>
|
408
|
+
</property>
|
409
|
+
<property name="sizeHint" stdset="0">
|
410
|
+
<size>
|
411
|
+
<width>20</width>
|
412
|
+
<height>40</height>
|
413
|
+
</size>
|
414
|
+
</property>
|
415
|
+
</spacer>
|
416
|
+
</item>
|
380
417
|
<item row="1" column="1">
|
381
418
|
<widget class="QLineEdit" name="rigcontrolip_field">
|
382
419
|
<property name="font">
|
@@ -398,7 +435,38 @@
|
|
398
435
|
</property>
|
399
436
|
</widget>
|
400
437
|
</item>
|
401
|
-
<item row="3" column="
|
438
|
+
<item row="3" column="1" colspan="3">
|
439
|
+
<spacer name="verticalSpacer_2">
|
440
|
+
<property name="orientation">
|
441
|
+
<enum>Qt::Vertical</enum>
|
442
|
+
</property>
|
443
|
+
<property name="sizeHint" stdset="0">
|
444
|
+
<size>
|
445
|
+
<width>20</width>
|
446
|
+
<height>40</height>
|
447
|
+
</size>
|
448
|
+
</property>
|
449
|
+
</spacer>
|
450
|
+
</item>
|
451
|
+
<item row="1" column="0">
|
452
|
+
<widget class="QLabel" name="label_6">
|
453
|
+
<property name="font">
|
454
|
+
<font>
|
455
|
+
<family>JetBrains Mono ExtraLight</family>
|
456
|
+
<pointsize>12</pointsize>
|
457
|
+
<bold>false</bold>
|
458
|
+
<strikeout>false</strikeout>
|
459
|
+
</font>
|
460
|
+
</property>
|
461
|
+
<property name="text">
|
462
|
+
<string>Rig Control IP:</string>
|
463
|
+
</property>
|
464
|
+
<property name="alignment">
|
465
|
+
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
466
|
+
</property>
|
467
|
+
</widget>
|
468
|
+
</item>
|
469
|
+
<item row="4" column="0" colspan="4">
|
402
470
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
403
471
|
<property name="sizeConstraint">
|
404
472
|
<enum>QLayout::SizeConstraint::SetDefaultConstraint</enum>
|
@@ -513,50 +581,6 @@
|
|
513
581
|
</item>
|
514
582
|
</layout>
|
515
583
|
</item>
|
516
|
-
<item row="2" column="1" colspan="3">
|
517
|
-
<spacer name="verticalSpacer_2">
|
518
|
-
<property name="orientation">
|
519
|
-
<enum>Qt::Vertical</enum>
|
520
|
-
</property>
|
521
|
-
<property name="sizeHint" stdset="0">
|
522
|
-
<size>
|
523
|
-
<width>20</width>
|
524
|
-
<height>40</height>
|
525
|
-
</size>
|
526
|
-
</property>
|
527
|
-
</spacer>
|
528
|
-
</item>
|
529
|
-
<item row="1" column="0">
|
530
|
-
<widget class="QLabel" name="label_6">
|
531
|
-
<property name="font">
|
532
|
-
<font>
|
533
|
-
<family>JetBrains Mono ExtraLight</family>
|
534
|
-
<pointsize>12</pointsize>
|
535
|
-
<bold>false</bold>
|
536
|
-
<strikeout>false</strikeout>
|
537
|
-
</font>
|
538
|
-
</property>
|
539
|
-
<property name="text">
|
540
|
-
<string>Rig Control IP:</string>
|
541
|
-
</property>
|
542
|
-
<property name="alignment">
|
543
|
-
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
544
|
-
</property>
|
545
|
-
</widget>
|
546
|
-
</item>
|
547
|
-
<item row="0" column="2">
|
548
|
-
<spacer name="verticalSpacer">
|
549
|
-
<property name="orientation">
|
550
|
-
<enum>Qt::Vertical</enum>
|
551
|
-
</property>
|
552
|
-
<property name="sizeHint" stdset="0">
|
553
|
-
<size>
|
554
|
-
<width>20</width>
|
555
|
-
<height>40</height>
|
556
|
-
</size>
|
557
|
-
</property>
|
558
|
-
</spacer>
|
559
|
-
</item>
|
560
584
|
<item row="1" column="2">
|
561
585
|
<widget class="QLabel" name="label_7">
|
562
586
|
<property name="font">
|
@@ -575,8 +599,8 @@
|
|
575
599
|
</property>
|
576
600
|
</widget>
|
577
601
|
</item>
|
578
|
-
<item row="
|
579
|
-
<spacer name="
|
602
|
+
<item row="0" column="2">
|
603
|
+
<spacer name="verticalSpacer">
|
580
604
|
<property name="orientation">
|
581
605
|
<enum>Qt::Vertical</enum>
|
582
606
|
</property>
|
@@ -588,30 +612,16 @@
|
|
588
612
|
</property>
|
589
613
|
</spacer>
|
590
614
|
</item>
|
591
|
-
<item row="
|
592
|
-
<widget class="
|
593
|
-
<property name="font">
|
594
|
-
<font>
|
595
|
-
<family>JetBrains Mono ExtraLight</family>
|
596
|
-
<pointsize>12</pointsize>
|
597
|
-
<bold>false</bold>
|
598
|
-
<strikeout>false</strikeout>
|
599
|
-
</font>
|
600
|
-
</property>
|
601
|
-
<property name="accessibleName">
|
602
|
-
<string>port number</string>
|
603
|
-
</property>
|
604
|
-
<property name="accessibleDescription">
|
605
|
-
<string>port number of rig control d or f l rig.</string>
|
606
|
-
</property>
|
607
|
-
<property name="inputMethodHints">
|
608
|
-
<set>Qt::InputMethodHint::ImhDigitsOnly</set>
|
609
|
-
</property>
|
615
|
+
<item row="2" column="0">
|
616
|
+
<widget class="QLabel" name="label_27">
|
610
617
|
<property name="text">
|
611
|
-
<string>
|
618
|
+
<string>CAT Poll Interval (ms):</string>
|
612
619
|
</property>
|
613
620
|
</widget>
|
614
621
|
</item>
|
622
|
+
<item row="2" column="1">
|
623
|
+
<widget class="QLineEdit" name="catpoll_field"/>
|
624
|
+
</item>
|
615
625
|
</layout>
|
616
626
|
</widget>
|
617
627
|
<widget class="QWidget" name="cw_tab">
|
not1mm/data/donors.html
CHANGED
not1mm/data/new_contest.ui
CHANGED