not1mm 24.9.24__tar.gz → 24.9.25.1__tar.gz

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.
Files changed (170) hide show
  1. {not1mm-24.9.24 → not1mm-24.9.25.1}/PKG-INFO +3 -1
  2. {not1mm-24.9.24 → not1mm-24.9.25.1}/README.md +2 -0
  3. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/__main__.py +97 -140
  4. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/configuration.ui +79 -44
  5. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/main.ui +141 -1
  6. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lib/ham_utility.py +5 -0
  7. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lib/settings.py +17 -6
  8. not1mm-24.9.25.1/not1mm/lib/version.py +3 -0
  9. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm.egg-info/PKG-INFO +3 -1
  10. {not1mm-24.9.24 → not1mm-24.9.25.1}/pyproject.toml +1 -1
  11. not1mm-24.9.24/not1mm/lib/version.py +0 -3
  12. {not1mm-24.9.24 → not1mm-24.9.25.1}/LICENSE +0 -0
  13. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/__init__.py +0 -0
  14. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/bandmap.py +0 -0
  15. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/checkwindow.py +0 -0
  16. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/JetBrainsMono-ExtraLight.ttf +0 -0
  17. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/MASTER.SCP +0 -0
  18. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/about.ui +0 -0
  19. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/alpha bravo charlie delta.txt +0 -0
  20. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/bandmap.ui +0 -0
  21. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/check.png +0 -0
  22. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/checkwindow.ui +0 -0
  23. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/contests.sql +0 -0
  24. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/cty.json +0 -0
  25. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/cwmacros.txt +0 -0
  26. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/donors.html +0 -0
  27. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/editcontact.ui +0 -0
  28. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/editmacro.ui +0 -0
  29. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/greendot.png +0 -0
  30. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/k6gte-not1mm.desktop +0 -0
  31. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/k6gte.not1mm-128.png +0 -0
  32. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/k6gte.not1mm-32.png +0 -0
  33. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/k6gte.not1mm-64.png +0 -0
  34. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/logwindow.ui +0 -0
  35. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/logwindowx.ui +0 -0
  36. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/new_contest.ui +0 -0
  37. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/not1mm.html +0 -0
  38. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/opon.ui +0 -0
  39. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/0.wav +0 -0
  40. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/1.wav +0 -0
  41. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/2.wav +0 -0
  42. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/3.wav +0 -0
  43. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/4.wav +0 -0
  44. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/5.wav +0 -0
  45. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/6.wav +0 -0
  46. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/7.wav +0 -0
  47. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/73.wav +0 -0
  48. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/8.wav +0 -0
  49. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/9.wav +0 -0
  50. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/a.wav +0 -0
  51. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/again.wav +0 -0
  52. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/b.wav +0 -0
  53. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/c.wav +0 -0
  54. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/contest.wav +0 -0
  55. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/cq.wav +0 -0
  56. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/d.wav +0 -0
  57. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/e.wav +0 -0
  58. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/f.wav +0 -0
  59. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/g.wav +0 -0
  60. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/h.wav +0 -0
  61. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/i.wav +0 -0
  62. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/j.wav +0 -0
  63. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/k.wav +0 -0
  64. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/k6gte.wav +0 -0
  65. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/l.wav +0 -0
  66. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/m.wav +0 -0
  67. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/mynumber.wav +0 -0
  68. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/n.wav +0 -0
  69. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/nil.wav +0 -0
  70. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/o.wav +0 -0
  71. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/p.wav +0 -0
  72. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/q.wav +0 -0
  73. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/r.wav +0 -0
  74. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/roger.wav +0 -0
  75. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/s.wav +0 -0
  76. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/space.wav +0 -0
  77. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/t.wav +0 -0
  78. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/thankyou.wav +0 -0
  79. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
  80. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/u.wav +0 -0
  81. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/v.wav +0 -0
  82. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/w.wav +0 -0
  83. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/x.wav +0 -0
  84. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/y.wav +0 -0
  85. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/yourcall.wav +0 -0
  86. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/phonetics/z.wav +0 -0
  87. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/pickcontest.ui +0 -0
  88. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/radio_green.png +0 -0
  89. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/radio_grey.png +0 -0
  90. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/radio_red.png +0 -0
  91. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/reddot.png +0 -0
  92. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/rttymacros.txt +0 -0
  93. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/settings.ui +0 -0
  94. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/splash.png +0 -0
  95. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/ssbmacros.txt +0 -0
  96. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/data/vfo.ui +0 -0
  97. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/fsutils.py +0 -0
  98. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lib/__init__.py +0 -0
  99. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lib/about.py +0 -0
  100. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lib/cat_interface.py +0 -0
  101. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lib/cwinterface.py +0 -0
  102. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lib/database.py +0 -0
  103. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lib/edit_contact.py +0 -0
  104. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lib/edit_macro.py +0 -0
  105. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lib/edit_opon.py +0 -0
  106. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lib/edit_station.py +0 -0
  107. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lib/fldigi_sendstring.py +0 -0
  108. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lib/fldigi_watcher.py +0 -0
  109. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lib/ft8_watcher.py +0 -0
  110. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lib/lookup.py +0 -0
  111. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lib/multicast.py +0 -0
  112. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lib/n1mm.py +0 -0
  113. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lib/new_contest.py +0 -0
  114. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lib/playsound.py +0 -0
  115. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lib/plugin_common.py +0 -0
  116. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lib/select_contest.py +0 -0
  117. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lib/super_check_partial.py +0 -0
  118. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lib/versiontest.py +0 -0
  119. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/logwindow.py +0 -0
  120. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/lookupservice.py +0 -0
  121. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/10_10_fall_cw.py +0 -0
  122. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/10_10_spring_cw.py +0 -0
  123. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/10_10_summer_phone.py +0 -0
  124. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/10_10_winter_phone.py +0 -0
  125. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/__init__.py +0 -0
  126. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/arrl_10m.py +0 -0
  127. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/arrl_dx_cw.py +0 -0
  128. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/arrl_dx_ssb.py +0 -0
  129. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/arrl_field_day.py +0 -0
  130. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/arrl_rtty_ru.py +0 -0
  131. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/arrl_ss_cw.py +0 -0
  132. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/arrl_ss_phone.py +0 -0
  133. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/arrl_vhf_jan.py +0 -0
  134. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/arrl_vhf_jun.py +0 -0
  135. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/arrl_vhf_sep.py +0 -0
  136. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/canada_day.py +0 -0
  137. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/cq_160_cw.py +0 -0
  138. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/cq_160_ssb.py +0 -0
  139. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/cq_wpx_cw.py +0 -0
  140. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/cq_wpx_ssb.py +0 -0
  141. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/cq_ww_cw.py +0 -0
  142. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/cq_ww_rtty.py +0 -0
  143. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/cq_ww_ssb.py +0 -0
  144. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/cwt.py +0 -0
  145. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/general_logging.py +0 -0
  146. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/helvetia.py +0 -0
  147. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/iaru_fieldday_r1_cw.py +0 -0
  148. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/iaru_fieldday_r1_ssb.py +0 -0
  149. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/iaru_hf.py +0 -0
  150. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/icwc_mst.py +0 -0
  151. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/jidx_cw.py +0 -0
  152. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/jidx_ph.py +0 -0
  153. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/k1usn_sst.py +0 -0
  154. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/naqp_cw.py +0 -0
  155. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/naqp_ssb.py +0 -0
  156. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/phone_weekly_test.py +0 -0
  157. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/ref_cw.py +0 -0
  158. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/stew_perry_topband.py +0 -0
  159. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/weekly_rtty.py +0 -0
  160. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/plugins/winter_field_day.py +0 -0
  161. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/radio.py +0 -0
  162. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/test.py +0 -0
  163. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/vfo.py +0 -0
  164. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm/voice_keying.py +0 -0
  165. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm.egg-info/SOURCES.txt +0 -0
  166. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm.egg-info/dependency_links.txt +0 -0
  167. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm.egg-info/entry_points.txt +0 -0
  168. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm.egg-info/requires.txt +0 -0
  169. {not1mm-24.9.24 → not1mm-24.9.25.1}/not1mm.egg-info/top_level.txt +0 -0
  170. {not1mm-24.9.24 → not1mm-24.9.25.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.9.24
3
+ Version: 24.9.25.1
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
@@ -230,6 +230,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
230
230
 
231
231
  ## Recent Changes
232
232
 
233
+ - [24-9-25-1] Added WARC and 4M bands.
234
+ - [24-9-25] Fix QRZ lookup crash on non-existant call.
233
235
  - [24-9-24] Correct crash in CWT.
234
236
  - [24-9-23] Improved serial interface to rigctld. Send RTTY macros to fldigi when radio modes are RTTY, USB-D, LSB-D, PKTLSB, PKTUSB, DIGI-U, DIGI-L.
235
237
  - [24-9-22] Merged in changes for CQ WW RTTY
@@ -199,6 +199,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
199
199
 
200
200
  ## Recent Changes
201
201
 
202
+ - [24-9-25-1] Added WARC and 4M bands.
203
+ - [24-9-25] Fix QRZ lookup crash on non-existant call.
202
204
  - [24-9-24] Correct crash in CWT.
203
205
  - [24-9-23] Improved serial interface to rigctld. Send RTTY macros to fldigi when radio modes are RTTY, USB-D, LSB-D, PKTLSB, PKTUSB, DIGI-U, DIGI-L.
204
206
  - [24-9-22] Merged in changes for CQ WW RTTY
@@ -95,7 +95,7 @@ class MainWindow(QtWidgets.QMainWindow):
95
95
  "command_buttons": False,
96
96
  "cw_macros": True,
97
97
  "bands_modes": True,
98
- "bands": ["160", "80", "40", "20", "15", "10"],
98
+ "bands": ["160", "80", "60", "40", "30", "20", "17", "15", "12", "10"],
99
99
  "current_database": "ham.db",
100
100
  "contest": "",
101
101
  "multicast_group": "239.1.1.1",
@@ -187,9 +187,7 @@ class MainWindow(QtWidgets.QMainWindow):
187
187
  }
188
188
 
189
189
  self.setCorner(Qt.Corner.TopRightCorner, Qt.DockWidgetArea.RightDockWidgetArea)
190
- self.setCorner(
191
- Qt.Corner.BottomRightCorner, Qt.DockWidgetArea.RightDockWidgetArea
192
- )
190
+ self.setCorner(Qt.Corner.BottomRightCorner, Qt.DockWidgetArea.RightDockWidgetArea)
193
191
  self.setCorner(Qt.Corner.TopLeftCorner, Qt.DockWidgetArea.LeftDockWidgetArea)
194
192
  self.setCorner(Qt.Corner.BottomLeftCorner, Qt.DockWidgetArea.LeftDockWidgetArea)
195
193
  uic.loadUi(fsutils.APP_DATA_PATH / "main.ui", self)
@@ -220,9 +218,7 @@ class MainWindow(QtWidgets.QMainWindow):
220
218
  self.actionGenerate_Cabrillo.triggered.connect(self.generate_cabrillo)
221
219
  self.actionGenerate_ADIF.triggered.connect(self.generate_adif)
222
220
 
223
- self.actionConfiguration_Settings.triggered.connect(
224
- self.edit_configuration_settings
225
- )
221
+ self.actionConfiguration_Settings.triggered.connect(self.edit_configuration_settings)
226
222
  self.actionStationSettings.triggered.connect(self.edit_station_settings)
227
223
 
228
224
  self.actionNew_Contest.triggered.connect(self.new_contest_dialog)
@@ -303,121 +299,72 @@ class MainWindow(QtWidgets.QMainWindow):
303
299
  self.F12.customContextMenuRequested.connect(lambda x: self.edit_macro(self.F12))
304
300
  self.F12.clicked.connect(lambda x: self.process_function_key(self.F12))
305
301
 
306
- self.cw_band_160.mousePressEvent = lambda x: self.change_to_band_and_mode(
307
- 160, "CW"
308
- )
309
- self.cw_band_80.mousePressEvent = lambda x: self.change_to_band_and_mode(
310
- 80, "CW"
311
- )
312
- self.cw_band_40.mousePressEvent = lambda x: self.change_to_band_and_mode(
313
- 40, "CW"
314
- )
315
- self.cw_band_20.mousePressEvent = lambda x: self.change_to_band_and_mode(
316
- 20, "CW"
317
- )
318
- self.cw_band_15.mousePressEvent = lambda x: self.change_to_band_and_mode(
319
- 15, "CW"
320
- )
321
- self.cw_band_10.mousePressEvent = lambda x: self.change_to_band_and_mode(
322
- 10, "CW"
323
- )
302
+ self.cw_band_160.mousePressEvent = lambda x: self.change_to_band_and_mode(160, "CW")
303
+ self.cw_band_80.mousePressEvent = lambda x: self.change_to_band_and_mode(80, "CW")
304
+ self.cw_band_60.mousePressEvent = lambda x: self.change_to_band_and_mode(60, "CW")
305
+ self.cw_band_40.mousePressEvent = lambda x: self.change_to_band_and_mode(40, "CW")
306
+ self.cw_band_30.mousePressEvent = lambda x: self.change_to_band_and_mode(30, "CW")
307
+ self.cw_band_20.mousePressEvent = lambda x: self.change_to_band_and_mode(20, "CW")
308
+ self.cw_band_17.mousePressEvent = lambda x: self.change_to_band_and_mode(17, "CW")
309
+ self.cw_band_15.mousePressEvent = lambda x: self.change_to_band_and_mode(15, "CW")
310
+ self.cw_band_12.mousePressEvent = lambda x: self.change_to_band_and_mode(12, "CW")
311
+ self.cw_band_10.mousePressEvent = lambda x: self.change_to_band_and_mode(10, "CW")
324
312
  self.cw_band_6.mousePressEvent = lambda x: self.change_to_band_and_mode(6, "CW")
313
+ self.cw_band_4.mousePressEvent = lambda x: self.change_to_band_and_mode(4, "CW")
325
314
  self.cw_band_2.mousePressEvent = lambda x: self.change_to_band_and_mode(2, "CW")
326
- self.cw_band_125.mousePressEvent = lambda x: self.change_to_band_and_mode(
327
- 222, "CW"
328
- )
329
- self.cw_band_70cm.mousePressEvent = lambda x: self.change_to_band_and_mode(
330
- 432, "CW"
331
- )
332
- self.cw_band_33cm.mousePressEvent = lambda x: self.change_to_band_and_mode(
333
- 902, "CW"
334
- )
335
- self.cw_band_23cm.mousePressEvent = lambda x: self.change_to_band_and_mode(
336
- 1240, "CW"
337
- )
338
-
339
- self.ssb_band_160.mousePressEvent = lambda x: self.change_to_band_and_mode(
340
- 160, "SSB"
341
- )
342
- self.ssb_band_80.mousePressEvent = lambda x: self.change_to_band_and_mode(
343
- 80, "SSB"
344
- )
345
- self.ssb_band_40.mousePressEvent = lambda x: self.change_to_band_and_mode(
346
- 40, "SSB"
347
- )
348
- self.ssb_band_20.mousePressEvent = lambda x: self.change_to_band_and_mode(
349
- 20, "SSB"
350
- )
351
- self.ssb_band_15.mousePressEvent = lambda x: self.change_to_band_and_mode(
352
- 15, "SSB"
353
- )
354
- self.ssb_band_10.mousePressEvent = lambda x: self.change_to_band_and_mode(
355
- 10, "SSB"
356
- )
357
- self.ssb_band_6.mousePressEvent = lambda x: self.change_to_band_and_mode(
358
- 6, "SSB"
359
- )
360
- self.ssb_band_2.mousePressEvent = lambda x: self.change_to_band_and_mode(
361
- 2, "SSB"
362
- )
363
- self.ssb_band_125.mousePressEvent = lambda x: self.change_to_band_and_mode(
364
- 222, "SSB"
365
- )
366
- self.ssb_band_70cm.mousePressEvent = lambda x: self.change_to_band_and_mode(
367
- 432, "SSB"
368
- )
369
- self.ssb_band_33cm.mousePressEvent = lambda x: self.change_to_band_and_mode(
370
- 902, "SSB"
371
- )
372
- self.ssb_band_23cm.mousePressEvent = lambda x: self.change_to_band_and_mode(
373
- 1240, "SSB"
374
- )
375
-
376
- self.rtty_band_160.mousePressEvent = lambda x: self.change_to_band_and_mode(
377
- 160, "RTTY"
378
- )
379
- self.rtty_band_80.mousePressEvent = lambda x: self.change_to_band_and_mode(
380
- 80, "RTTY"
381
- )
382
- self.rtty_band_40.mousePressEvent = lambda x: self.change_to_band_and_mode(
383
- 40, "RTTY"
384
- )
385
- self.rtty_band_20.mousePressEvent = lambda x: self.change_to_band_and_mode(
386
- 20, "RTTY"
387
- )
388
- self.rtty_band_15.mousePressEvent = lambda x: self.change_to_band_and_mode(
389
- 15, "RTTY"
390
- )
391
- self.rtty_band_10.mousePressEvent = lambda x: self.change_to_band_and_mode(
392
- 10, "RTTY"
393
- )
394
- self.rtty_band_6.mousePressEvent = lambda x: self.change_to_band_and_mode(
395
- 6, "RTTY"
396
- )
397
- self.rtty_band_2.mousePressEvent = lambda x: self.change_to_band_and_mode(
398
- 2, "RTTY"
399
- )
400
- self.rtty_band_125.mousePressEvent = lambda x: self.change_to_band_and_mode(
401
- 222, "RTTY"
402
- )
403
- self.rtty_band_70cm.mousePressEvent = lambda x: self.change_to_band_and_mode(
404
- 432, "RTTY"
405
- )
406
- self.rtty_band_33cm.mousePressEvent = lambda x: self.change_to_band_and_mode(
407
- 902, "RTTY"
408
- )
409
- self.rtty_band_23cm.mousePressEvent = lambda x: self.change_to_band_and_mode(
410
- 1240, "RTTY"
411
- )
315
+ self.cw_band_125.mousePressEvent = lambda x: self.change_to_band_and_mode(222, "CW")
316
+ self.cw_band_70cm.mousePressEvent = lambda x: self.change_to_band_and_mode(432, "CW")
317
+ self.cw_band_33cm.mousePressEvent = lambda x: self.change_to_band_and_mode(902, "CW")
318
+ self.cw_band_23cm.mousePressEvent = lambda x: self.change_to_band_and_mode(1240, "CW")
319
+
320
+ self.ssb_band_160.mousePressEvent = lambda x: self.change_to_band_and_mode(160, "SSB")
321
+ self.ssb_band_80.mousePressEvent = lambda x: self.change_to_band_and_mode(80, "SSB")
322
+ self.ssb_band_60.mousePressEvent = lambda x: self.change_to_band_and_mode(60, "SSB")
323
+ self.ssb_band_40.mousePressEvent = lambda x: self.change_to_band_and_mode(40, "SSB")
324
+ self.ssb_band_20.mousePressEvent = lambda x: self.change_to_band_and_mode(20, "SSB")
325
+ self.ssb_band_17.mousePressEvent = lambda x: self.change_to_band_and_mode(17, "SSB")
326
+ self.ssb_band_15.mousePressEvent = lambda x: self.change_to_band_and_mode(15, "SSB")
327
+ self.ssb_band_12.mousePressEvent = lambda x: self.change_to_band_and_mode(12, "SSB")
328
+ self.ssb_band_10.mousePressEvent = lambda x: self.change_to_band_and_mode(10, "SSB")
329
+ self.ssb_band_6.mousePressEvent = lambda x: self.change_to_band_and_mode(6, "SSB")
330
+ self.ssb_band_4.mousePressEvent = lambda x: self.change_to_band_and_mode(4, "SSB")
331
+ self.ssb_band_2.mousePressEvent = lambda x: self.change_to_band_and_mode(2, "SSB")
332
+ self.ssb_band_125.mousePressEvent = lambda x: self.change_to_band_and_mode(222, "SSB")
333
+ self.ssb_band_70cm.mousePressEvent = lambda x: self.change_to_band_and_mode(432, "SSB")
334
+ self.ssb_band_33cm.mousePressEvent = lambda x: self.change_to_band_and_mode(902, "SSB")
335
+ self.ssb_band_23cm.mousePressEvent = lambda x: self.change_to_band_and_mode(1240, "SSB")
336
+
337
+ self.rtty_band_160.mousePressEvent = lambda x: self.change_to_band_and_mode(160, "RTTY")
338
+ self.rtty_band_80.mousePressEvent = lambda x: self.change_to_band_and_mode(80, "RTTY")
339
+ self.rtty_band_60.mousePressEvent = lambda x: self.change_to_band_and_mode(60, "RTTY")
340
+ self.rtty_band_40.mousePressEvent = lambda x: self.change_to_band_and_mode(40, "RTTY")
341
+ self.rtty_band_30.mousePressEvent = lambda x: self.change_to_band_and_mode(30, "RTTY")
342
+ self.rtty_band_20.mousePressEvent = lambda x: self.change_to_band_and_mode(20, "RTTY")
343
+ self.rtty_band_17.mousePressEvent = lambda x: self.change_to_band_and_mode(17, "RTTY")
344
+ self.rtty_band_15.mousePressEvent = lambda x: self.change_to_band_and_mode(15, "RTTY")
345
+ self.rtty_band_12.mousePressEvent = lambda x: self.change_to_band_and_mode(12, "RTTY")
346
+ self.rtty_band_10.mousePressEvent = lambda x: self.change_to_band_and_mode(10, "RTTY")
347
+ self.rtty_band_6.mousePressEvent = lambda x: self.change_to_band_and_mode(6, "RTTY")
348
+ self.rtty_band_4.mousePressEvent = lambda x: self.change_to_band_and_mode(4, "RTTY")
349
+ self.rtty_band_2.mousePressEvent = lambda x: self.change_to_band_and_mode(2, "RTTY")
350
+ self.rtty_band_125.mousePressEvent = lambda x: self.change_to_band_and_mode(222, "RTTY")
351
+ self.rtty_band_70cm.mousePressEvent = lambda x: self.change_to_band_and_mode(432, "RTTY")
352
+ self.rtty_band_33cm.mousePressEvent = lambda x: self.change_to_band_and_mode(902, "RTTY")
353
+ self.rtty_band_23cm.mousePressEvent = lambda x: self.change_to_band_and_mode(1240, "RTTY")
412
354
 
413
355
  self.band_indicators_cw = {
414
356
  "160": self.cw_band_160,
415
357
  "80": self.cw_band_80,
358
+ "60": self.cw_band_60,
416
359
  "40": self.cw_band_40,
360
+ "30": self.cw_band_30,
417
361
  "20": self.cw_band_20,
362
+ "17": self.cw_band_17,
418
363
  "15": self.cw_band_15,
364
+ "12": self.cw_band_12,
419
365
  "10": self.cw_band_10,
420
366
  "6": self.cw_band_6,
367
+ "4": self.cw_band_4,
421
368
  "2": self.cw_band_2,
422
369
  "1.25": self.cw_band_125,
423
370
  "70cm": self.cw_band_70cm,
@@ -428,11 +375,15 @@ class MainWindow(QtWidgets.QMainWindow):
428
375
  self.band_indicators_ssb = {
429
376
  "160": self.ssb_band_160,
430
377
  "80": self.ssb_band_80,
378
+ "60": self.ssb_band_60,
431
379
  "40": self.ssb_band_40,
432
380
  "20": self.ssb_band_20,
381
+ "17": self.ssb_band_17,
433
382
  "15": self.ssb_band_15,
383
+ "12": self.ssb_band_12,
434
384
  "10": self.ssb_band_10,
435
385
  "6": self.ssb_band_6,
386
+ "4": self.ssb_band_4,
436
387
  "2": self.ssb_band_2,
437
388
  "1.25": self.ssb_band_125,
438
389
  "70cm": self.ssb_band_70cm,
@@ -443,11 +394,16 @@ class MainWindow(QtWidgets.QMainWindow):
443
394
  self.band_indicators_rtty = {
444
395
  "160": self.rtty_band_160,
445
396
  "80": self.rtty_band_80,
397
+ "60": self.rtty_band_60,
446
398
  "40": self.rtty_band_40,
399
+ "30": self.rtty_band_30,
447
400
  "20": self.rtty_band_20,
401
+ "17": self.rtty_band_17,
448
402
  "15": self.rtty_band_15,
403
+ "12": self.rtty_band_12,
449
404
  "10": self.rtty_band_10,
450
405
  "6": self.rtty_band_6,
406
+ "4": self.rtty_band_4,
451
407
  "2": self.rtty_band_2,
452
408
  "1.25": self.rtty_band_125,
453
409
  "70cm": self.rtty_band_70cm,
@@ -652,8 +608,7 @@ class MainWindow(QtWidgets.QMainWindow):
652
608
  darkPalette.setColor(QPalette.ColorRole.BrightText, QColorConstants.Red)
653
609
  darkPalette.setColor(QPalette.ColorRole.Link, QColor(42, 130, 218))
654
610
  darkPalette.setColor(QPalette.ColorRole.Highlight, QColor(42, 130, 218))
655
- darkPalette.setColor(
656
- QPalette.ColorRole.HighlightedText, QColorConstants.Black
611
+ darkPalette.setColor(QPalette.ColorRole.HighlightedText, QColorConstants.Black
657
612
  )
658
613
  darkPalette.setColor(
659
614
  QPalette.ColorGroup.Disabled,
@@ -2563,7 +2518,7 @@ class MainWindow(QtWidgets.QMainWindow):
2563
2518
 
2564
2519
  # If bands list is empty fill it with HF.
2565
2520
  if self.pref.get("bands", []) == []:
2566
- self.pref["bands"] = ["160", "80", "40", "20", "15", "10"]
2521
+ self.pref["bands"] = ["160", "80", "60", "40", "30", "20", "17", "15", "12", "10"]
2567
2522
 
2568
2523
  # Hide all the bands and then show only the wanted bands.
2569
2524
  for _indicator in [
@@ -2661,32 +2616,34 @@ class MainWindow(QtWidgets.QMainWindow):
2661
2616
  json_data.get("cmd", "") == "LOOKUP_RESPONSE"
2662
2617
  and json_data.get("station", "") == platform.node()
2663
2618
  ):
2664
-
2665
- fname = json_data.get("result", {}).get("fname", "")
2666
- name = json_data.get("result", {}).get("name", "")
2667
- grid = json_data.get("result", {}).get("grid", "")
2668
- # error_text = json_data.get("result", {}).get("error_text", "")
2669
- nickname = json_data.get("result", {}).get("nickname", "")
2670
-
2671
- if self.contest:
2672
- if "General Logging" in self.contest.name:
2673
- if nickname:
2674
- self.other_1.setText(nickname)
2675
- elif fname:
2676
- self.other_1.setText(fname)
2677
- elif name:
2678
- self.other_1.setText(name)
2679
-
2680
- if grid:
2681
- self.contact["GridSquare"] = grid
2682
- # _theircountry = response.get("country", "")
2683
- if self.station.get("GridSquare", ""):
2684
- heading = bearing(self.station.get("GridSquare", ""), grid)
2685
- kilometers = distance(self.station.get("GridSquare", ""), grid)
2686
- self.heading_distance.setText(
2687
- f"{grid} Hdg {heading}° LP {reciprocol(heading)}° / "
2688
- f"distance {int(kilometers*0.621371)}mi {kilometers}km"
2689
- )
2619
+ if json_data.get("result", None) is not None:
2620
+ fname = json_data.get("result", {}).get("fname", "")
2621
+ name = json_data.get("result", {}).get("name", "")
2622
+ grid = json_data.get("result", {}).get("grid", "")
2623
+ # error_text = json_data.get("result", {}).get("error_text", "")
2624
+ nickname = json_data.get("result", {}).get("nickname", "")
2625
+
2626
+ if self.contest:
2627
+ if "General Logging" in self.contest.name:
2628
+ if nickname:
2629
+ self.other_1.setText(nickname)
2630
+ elif fname:
2631
+ self.other_1.setText(fname)
2632
+ elif name:
2633
+ self.other_1.setText(name)
2634
+
2635
+ if grid:
2636
+ self.contact["GridSquare"] = grid
2637
+ # _theircountry = response.get("country", "")
2638
+ if self.station.get("GridSquare", ""):
2639
+ heading = bearing(self.station.get("GridSquare", ""), grid)
2640
+ kilometers = distance(
2641
+ self.station.get("GridSquare", ""), grid
2642
+ )
2643
+ self.heading_distance.setText(
2644
+ f"{grid} Hdg {heading}° LP {reciprocol(heading)}° / "
2645
+ f"distance {int(kilometers*0.621371)}mi {kilometers}km"
2646
+ )
2690
2647
 
2691
2648
  def dark_mode_state_changed(self) -> None:
2692
2649
  """Called when the Dark Mode menu state is changed."""