not1mm 24.10.19.1__py3-none-any.whl → 24.10.20__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/lib/version.py CHANGED
@@ -1,3 +1,3 @@
1
1
  """It's the version"""
2
2
 
3
- __version__ = "24.10.19.1"
3
+ __version__ = "24.10.20"
not1mm/logwindow.py CHANGED
@@ -131,7 +131,9 @@ class LogWindow(QDockWidget):
131
131
 
132
132
  self.generalLog.cellDoubleClicked.connect(self.double_clicked)
133
133
  self.generalLog.cellChanged.connect(self.cell_changed)
134
-
134
+ self.generalLog.horizontalHeader().sectionResized.connect(
135
+ self.resize_headers_to_match
136
+ )
135
137
  self.focusedLog.setContextMenuPolicy(
136
138
  QtCore.Qt.ContextMenuPolicy.CustomContextMenu
137
139
  )
@@ -143,6 +145,7 @@ class LogWindow(QDockWidget):
143
145
 
144
146
  for log in (self.generalLog, self.focusedLog):
145
147
  log.setColumnWidth(self.get_column("YYYY-MM-DD HH:MM:SS"), 200)
148
+
146
149
  log.setColumnWidth(self.get_column("Snt"), 50)
147
150
  log.setColumnWidth(self.get_column("Rcv"), 50)
148
151
  log.setColumnWidth(self.get_column("SentNr"), 75)
@@ -172,6 +175,11 @@ class LogWindow(QDockWidget):
172
175
 
173
176
  self.multicast_interface.send_as_json(cmd)
174
177
 
178
+ def resize_headers_to_match(self) -> None:
179
+ """"""
180
+ for i in range(self.generalLog.columnCount()):
181
+ self.focusedLog.setColumnWidth(i, self.generalLog.columnWidth(i))
182
+
175
183
  def set_dark_mode(self, dark: bool) -> None:
176
184
  """Forces a darkmode palette."""
177
185
 
@@ -56,8 +56,8 @@ def interface(self):
56
56
  self.snt_label.setText("SNT")
57
57
  self.field1.setAccessibleName("RST Sent")
58
58
  label = self.field4.findChild(QtWidgets.QLabel)
59
- label.setText("Power")
60
- self.field4.setAccessibleName("Power")
59
+ label.setText("Power/State/Province")
60
+ self.field4.setAccessibleName("Power or state or province")
61
61
 
62
62
 
63
63
  def reset_label(self):
@@ -401,3 +401,94 @@ def recalculate_mults(self):
401
401
  else:
402
402
  contact["IsMultiplier1"] = 0
403
403
  self.database.change_contact(contact)
404
+
405
+
406
+ def process_esm(self, new_focused_widget=None, with_enter=False):
407
+ """ESM State Machine"""
408
+
409
+ # self.pref["run_state"]
410
+
411
+ # -----===== Assigned F-Keys =====-----
412
+ # self.esm_dict["CQ"]
413
+ # self.esm_dict["EXCH"]
414
+ # self.esm_dict["QRZ"]
415
+ # self.esm_dict["AGN"]
416
+ # self.esm_dict["HISCALL"]
417
+ # self.esm_dict["MYCALL"]
418
+ # self.esm_dict["QSOB4"]
419
+
420
+ # ----==== text fields ====----
421
+ # self.callsign
422
+ # self.sent
423
+ # self.receive
424
+ # self.other_1
425
+ # self.other_2
426
+
427
+ if new_focused_widget is not None:
428
+ self.current_widget = self.inputs_dict.get(new_focused_widget)
429
+
430
+ # print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
431
+
432
+ for a_button in [
433
+ self.esm_dict["CQ"],
434
+ self.esm_dict["EXCH"],
435
+ self.esm_dict["QRZ"],
436
+ self.esm_dict["AGN"],
437
+ self.esm_dict["HISCALL"],
438
+ self.esm_dict["MYCALL"],
439
+ self.esm_dict["QSOB4"],
440
+ ]:
441
+ if a_button is not None:
442
+ self.restore_button_color(a_button)
443
+
444
+ buttons_to_send = []
445
+
446
+ if self.pref.get("run_state"):
447
+ if self.current_widget == "callsign":
448
+ if len(self.callsign.text()) < 3:
449
+ self.make_button_green(self.esm_dict["CQ"])
450
+ buttons_to_send.append(self.esm_dict["CQ"])
451
+ elif len(self.callsign.text()) > 2:
452
+ self.make_button_green(self.esm_dict["HISCALL"])
453
+ self.make_button_green(self.esm_dict["EXCH"])
454
+ buttons_to_send.append(self.esm_dict["HISCALL"])
455
+ buttons_to_send.append(self.esm_dict["EXCH"])
456
+
457
+ elif self.current_widget == "other_2":
458
+ if self.other_2.text() == "":
459
+ self.make_button_green(self.esm_dict["AGN"])
460
+ buttons_to_send.append(self.esm_dict["AGN"])
461
+ else:
462
+ self.make_button_green(self.esm_dict["QRZ"])
463
+ buttons_to_send.append(self.esm_dict["QRZ"])
464
+ buttons_to_send.append("LOGIT")
465
+
466
+ if with_enter is True and bool(len(buttons_to_send)):
467
+ for button in buttons_to_send:
468
+ if button:
469
+ if button == "LOGIT":
470
+ self.save_contact()
471
+ continue
472
+ self.process_function_key(button)
473
+ else:
474
+ if self.current_widget == "callsign":
475
+ if len(self.callsign.text()) > 2:
476
+ self.make_button_green(self.esm_dict["MYCALL"])
477
+ buttons_to_send.append(self.esm_dict["MYCALL"])
478
+
479
+ elif self.current_widget == "other_2":
480
+ if self.other_2.text() == "":
481
+ self.make_button_green(self.esm_dict["AGN"])
482
+ buttons_to_send.append(self.esm_dict["AGN"])
483
+ else:
484
+ self.make_button_green(self.esm_dict["EXCH"])
485
+ buttons_to_send.append(self.esm_dict["EXCH"])
486
+ buttons_to_send.append("LOGIT")
487
+
488
+ if with_enter is True and bool(len(buttons_to_send)):
489
+ for button in buttons_to_send:
490
+ if button:
491
+ if button == "LOGIT":
492
+ self.save_contact()
493
+ continue
494
+ self.process_function_key(button)
@@ -56,8 +56,8 @@ def interface(self):
56
56
  self.snt_label.setText("SNT")
57
57
  self.field1.setAccessibleName("RST Sent")
58
58
  label = self.field4.findChild(QtWidgets.QLabel)
59
- label.setText("Power")
60
- self.field4.setAccessibleName("Power")
59
+ label.setText("Power/State/Province")
60
+ self.field4.setAccessibleName("Power or state or province")
61
61
 
62
62
 
63
63
  def reset_label(self):
@@ -400,3 +400,94 @@ def recalculate_mults(self):
400
400
  else:
401
401
  contact["IsMultiplier1"] = 0
402
402
  self.database.change_contact(contact)
403
+
404
+
405
+ def process_esm(self, new_focused_widget=None, with_enter=False):
406
+ """ESM State Machine"""
407
+
408
+ # self.pref["run_state"]
409
+
410
+ # -----===== Assigned F-Keys =====-----
411
+ # self.esm_dict["CQ"]
412
+ # self.esm_dict["EXCH"]
413
+ # self.esm_dict["QRZ"]
414
+ # self.esm_dict["AGN"]
415
+ # self.esm_dict["HISCALL"]
416
+ # self.esm_dict["MYCALL"]
417
+ # self.esm_dict["QSOB4"]
418
+
419
+ # ----==== text fields ====----
420
+ # self.callsign
421
+ # self.sent
422
+ # self.receive
423
+ # self.other_1
424
+ # self.other_2
425
+
426
+ if new_focused_widget is not None:
427
+ self.current_widget = self.inputs_dict.get(new_focused_widget)
428
+
429
+ # print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
430
+
431
+ for a_button in [
432
+ self.esm_dict["CQ"],
433
+ self.esm_dict["EXCH"],
434
+ self.esm_dict["QRZ"],
435
+ self.esm_dict["AGN"],
436
+ self.esm_dict["HISCALL"],
437
+ self.esm_dict["MYCALL"],
438
+ self.esm_dict["QSOB4"],
439
+ ]:
440
+ if a_button is not None:
441
+ self.restore_button_color(a_button)
442
+
443
+ buttons_to_send = []
444
+
445
+ if self.pref.get("run_state"):
446
+ if self.current_widget == "callsign":
447
+ if len(self.callsign.text()) < 3:
448
+ self.make_button_green(self.esm_dict["CQ"])
449
+ buttons_to_send.append(self.esm_dict["CQ"])
450
+ elif len(self.callsign.text()) > 2:
451
+ self.make_button_green(self.esm_dict["HISCALL"])
452
+ self.make_button_green(self.esm_dict["EXCH"])
453
+ buttons_to_send.append(self.esm_dict["HISCALL"])
454
+ buttons_to_send.append(self.esm_dict["EXCH"])
455
+
456
+ elif self.current_widget == "other_2":
457
+ if self.other_2.text() == "":
458
+ self.make_button_green(self.esm_dict["AGN"])
459
+ buttons_to_send.append(self.esm_dict["AGN"])
460
+ else:
461
+ self.make_button_green(self.esm_dict["QRZ"])
462
+ buttons_to_send.append(self.esm_dict["QRZ"])
463
+ buttons_to_send.append("LOGIT")
464
+
465
+ if with_enter is True and bool(len(buttons_to_send)):
466
+ for button in buttons_to_send:
467
+ if button:
468
+ if button == "LOGIT":
469
+ self.save_contact()
470
+ continue
471
+ self.process_function_key(button)
472
+ else:
473
+ if self.current_widget == "callsign":
474
+ if len(self.callsign.text()) > 2:
475
+ self.make_button_green(self.esm_dict["MYCALL"])
476
+ buttons_to_send.append(self.esm_dict["MYCALL"])
477
+
478
+ elif self.current_widget == "other_2":
479
+ if self.other_2.text() == "":
480
+ self.make_button_green(self.esm_dict["AGN"])
481
+ buttons_to_send.append(self.esm_dict["AGN"])
482
+ else:
483
+ self.make_button_green(self.esm_dict["EXCH"])
484
+ buttons_to_send.append(self.esm_dict["EXCH"])
485
+ buttons_to_send.append("LOGIT")
486
+
487
+ if with_enter is True and bool(len(buttons_to_send)):
488
+ for button in buttons_to_send:
489
+ if button:
490
+ if button == "LOGIT":
491
+ self.save_contact()
492
+ continue
493
+ self.process_function_key(button)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.10.19.1
3
+ Version: 24.10.20
4
4
  Summary: NOT1MM Logger
5
5
  Author-email: Michael Bridak <michael.bridak@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/mbridak/not1mm
@@ -208,7 +208,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
208
208
  - 10 10 Summer Phone
209
209
  - 10 10 Winter Phone
210
210
  - ARRL 10M
211
- - ARRL DX CW, SSB
211
+ - **ARRL DX CW, SSB**
212
212
  - **ARRL Field Day**
213
213
  - **ARRL Sweepstakes CW, SSB**
214
214
  - ARRL VHF January, June, September
@@ -231,6 +231,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
231
231
 
232
232
  ## Recent Changes
233
233
 
234
+ - [24-10-20] Add ESM to ARRL DX.
234
235
  - [24-10-19-1] Rewrite part of CAT control.
235
236
  - [24-10-19] Change ESM button states when the run state is toggled. Add ESM to ARRL Field Day and Winter Field Day.
236
237
  - [24-10-18] Fixed marked spots showing the correct time.
@@ -3,7 +3,7 @@ not1mm/__main__.py,sha256=-khTbJLJfigHJkXwWUGGsTJAgUrGmcJteh4LfSQiTIw,136109
3
3
  not1mm/bandmap.py,sha256=_zbfhuPzJAQWxINJoxaulJ-FPvPP7syBq80JZFdcx14,31768
4
4
  not1mm/checkwindow.py,sha256=VoENHFGlaLfifR2xVkoiGky8SWktlXfUgEuP4DRS998,10584
5
5
  not1mm/fsutils.py,sha256=ukHKxKTeNKxKwqRaJjtzRShL4X5Xl0jRBbADyy3Ifp8,1701
6
- not1mm/logwindow.py,sha256=pwhiwolmGnW01LF4sjlu3ywLsgfxL6KuGuKuYKYmgeY,44403
6
+ not1mm/logwindow.py,sha256=yFZe1EJ6zP00a80x-EnIwTGIrxjaOVXbFnMJCG9W5os,44717
7
7
  not1mm/lookupservice.py,sha256=jsFg5tsB9cVnahLP-hI3CMwbjlEpMx944O8RLWntAy4,3342
8
8
  not1mm/radio.py,sha256=eu1kBjmttREFZ5tAJpNuQSMrmWeKw4Tb-sjgjChUYUs,4693
9
9
  not1mm/test.py,sha256=atZoDXL9DArK4dS8gBCDmlMt5AHuiVZmFOQIp62hDHg,314
@@ -114,7 +114,7 @@ not1mm/lib/plugin_common.py,sha256=TbFUbftjELFt4QRdsjSHbqnXSngZOlSwlCTClqosDXA,9
114
114
  not1mm/lib/select_contest.py,sha256=WsptLuwkouIHeocJL3oZ6-eUfEnhpwdc-x7eMZ_TIVM,359
115
115
  not1mm/lib/settings.py,sha256=7_JFDSKPOd35Gwzqhrbed4EfrlYUm7AEnz2xBRioc-g,13280
116
116
  not1mm/lib/super_check_partial.py,sha256=p5l3u2ZOCBtlWgbvskC50FpuoaIpR07tfC6zTdRWbh4,2334
117
- not1mm/lib/version.py,sha256=REJFwf-QzUFmZbPaCt8ug69o4c0mIZ7atBTUgjfuFvM,51
117
+ not1mm/lib/version.py,sha256=BKHnZ2z-XnKmvzHv-N4ivfyTiBU24Tzbxm4GJISEays,49
118
118
  not1mm/lib/versiontest.py,sha256=8vDNptuBBunn-1IGkjNaquehqBYUJyjrPSF8Igmd4_Y,1286
119
119
  not1mm/plugins/10_10_fall_cw.py,sha256=IttjX1yy4nDdACGsiYlPteFG8eVseX_WtoFio6bqHE8,10953
120
120
  not1mm/plugins/10_10_spring_cw.py,sha256=ThCptdM3dX4ywhoy2JRcOEyHSqcJolFaT7O_PYzM1Mg,10958
@@ -122,8 +122,8 @@ not1mm/plugins/10_10_summer_phone.py,sha256=VJTCD2JikpzVTEYG6naK_n6cGQXgxVHvLV7p
122
122
  not1mm/plugins/10_10_winter_phone.py,sha256=kFz4DRU850_dhHIQAhrVfGfQ8c59Rkcdurq4mk3XBQY,10970
123
123
  not1mm/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
124
124
  not1mm/plugins/arrl_10m.py,sha256=EyNRb3Sm0Qb-GVm0p05EnadlHisVh7y-sKTBP2ddMLo,13768
125
- not1mm/plugins/arrl_dx_cw.py,sha256=LVnYDNFEUiIpQ1TlhOCcRK7JNwH5XPO5WzUoApSUMTY,13802
126
- not1mm/plugins/arrl_dx_ssb.py,sha256=fUFzuNbCAfA5sQSYm8ISV3P9Z_2xnuKeOdO6E66zn1k,13805
125
+ not1mm/plugins/arrl_dx_cw.py,sha256=Us6jpz2vBDczC3U6UVHXNFWgrUjlbSqpl4IZjSRCJs0,17095
126
+ not1mm/plugins/arrl_dx_ssb.py,sha256=Eaa22Bl45vJop5Z9TIghDggYHysqfPVWVBbhPLCJpSU,17098
127
127
  not1mm/plugins/arrl_field_day.py,sha256=uXlu2fBGvr2sgcja9IxAiyOCy_ZJuA4NVWfIIA8gN-c,16048
128
128
  not1mm/plugins/arrl_rtty_ru.py,sha256=hKUS4isjdXo3EYxQrsqsDupPp2chW8fpoWj0T1pTgJ4,7994
129
129
  not1mm/plugins/arrl_ss_cw.py,sha256=egbIe-WBmM6oqmc7uWzSnRJaNIImHs8Hgs4PtNfpnEQ,16339
@@ -158,9 +158,9 @@ not1mm/plugins/ref_cw.py,sha256=aWjHHkqIKutjRUtzh09y5haFfnZK9poRQDWRQMDRxxU,1632
158
158
  not1mm/plugins/stew_perry_topband.py,sha256=CKBQbYl4ETxhXJd2dma4fg_C5pag_s7Nf61SCztZtqE,10668
159
159
  not1mm/plugins/weekly_rtty.py,sha256=ipgY-KlKlEHafnBg-_AFk9KhiXkGTvb4ENoezIeD7jU,18185
160
160
  not1mm/plugins/winter_field_day.py,sha256=nPuPxdK1FimPsHk-uz_3MA4cBqBp6WcwApk7PZwWeWg,13579
161
- not1mm-24.10.19.1.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
162
- not1mm-24.10.19.1.dist-info/METADATA,sha256=_hE0BsfDaVqXVyb6AwKp2_arwek7BxvkhbmtcavIoqo,34592
163
- not1mm-24.10.19.1.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
164
- not1mm-24.10.19.1.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
165
- not1mm-24.10.19.1.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
166
- not1mm-24.10.19.1.dist-info/RECORD,,
161
+ not1mm-24.10.20.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
162
+ not1mm-24.10.20.dist-info/METADATA,sha256=ISoeGm4VSGNngVvUeZqfkhmbZdSJWXUjpemh-wMikCQ,34627
163
+ not1mm-24.10.20.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
164
+ not1mm-24.10.20.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
165
+ not1mm-24.10.20.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
166
+ not1mm-24.10.20.dist-info/RECORD,,