not1mm 24.11.27__tar.gz → 24.12.3.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 (177) hide show
  1. {not1mm-24.11.27 → not1mm-24.12.3.1}/PKG-INFO +3 -20
  2. {not1mm-24.11.27 → not1mm-24.12.3.1}/README.md +2 -19
  3. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/bandmap.py +9 -0
  4. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/bandmap.ui +43 -12
  5. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/new_contest.ui +5 -0
  6. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/lib/database.py +17 -0
  7. not1mm-24.12.3.1/not1mm/lib/version.py +3 -0
  8. not1mm-24.12.3.1/not1mm/plugins/arrl_160m.py +543 -0
  9. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm.egg-info/PKG-INFO +3 -20
  10. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm.egg-info/SOURCES.txt +1 -0
  11. {not1mm-24.11.27 → not1mm-24.12.3.1}/pyproject.toml +1 -1
  12. not1mm-24.11.27/not1mm/lib/version.py +0 -3
  13. {not1mm-24.11.27 → not1mm-24.12.3.1}/LICENSE +0 -0
  14. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/__init__.py +0 -0
  15. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/__main__.py +0 -0
  16. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/checkwindow.py +0 -0
  17. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/JetBrainsMono-ExtraLight.ttf +0 -0
  18. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/MASTER.SCP +0 -0
  19. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/about.ui +0 -0
  20. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/alpha bravo charlie delta.txt +0 -0
  21. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/check.png +0 -0
  22. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/checkwindow.ui +0 -0
  23. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/configuration.ui +0 -0
  24. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/contests.sql +0 -0
  25. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/cty.json +0 -0
  26. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/cwmacros.txt +0 -0
  27. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/donors.html +0 -0
  28. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/editcontact.ui +0 -0
  29. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/editmacro.ui +0 -0
  30. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/greendot.png +0 -0
  31. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/k6gte-not1mm.desktop +0 -0
  32. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/k6gte.not1mm-128.png +0 -0
  33. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/k6gte.not1mm-32.png +0 -0
  34. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/k6gte.not1mm-64.png +0 -0
  35. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/logwindow.ui +0 -0
  36. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/logwindowx.ui +0 -0
  37. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/main.ui +0 -0
  38. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/not1mm.html +0 -0
  39. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/opon.ui +0 -0
  40. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/0.wav +0 -0
  41. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/1.wav +0 -0
  42. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/2.wav +0 -0
  43. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/3.wav +0 -0
  44. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/4.wav +0 -0
  45. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/5.wav +0 -0
  46. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/6.wav +0 -0
  47. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/7.wav +0 -0
  48. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/73.wav +0 -0
  49. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/8.wav +0 -0
  50. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/9.wav +0 -0
  51. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/a.wav +0 -0
  52. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/again.wav +0 -0
  53. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/b.wav +0 -0
  54. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/c.wav +0 -0
  55. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/contest.wav +0 -0
  56. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/cq.wav +0 -0
  57. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/cq2.wav +0 -0
  58. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/d.wav +0 -0
  59. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/e.wav +0 -0
  60. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/f.wav +0 -0
  61. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/g.wav +0 -0
  62. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/h.wav +0 -0
  63. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/i.wav +0 -0
  64. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/j.wav +0 -0
  65. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/k.wav +0 -0
  66. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/k6gte.wav +0 -0
  67. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/l.wav +0 -0
  68. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/m.wav +0 -0
  69. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/mynumber.wav +0 -0
  70. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/n.wav +0 -0
  71. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/nil.wav +0 -0
  72. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/o.wav +0 -0
  73. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/p.wav +0 -0
  74. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/q.wav +0 -0
  75. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/r.wav +0 -0
  76. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/roger.wav +0 -0
  77. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/s.wav +0 -0
  78. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/space.wav +0 -0
  79. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/t.wav +0 -0
  80. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/thankyou.wav +0 -0
  81. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
  82. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/u.wav +0 -0
  83. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/v.wav +0 -0
  84. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/w.wav +0 -0
  85. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/x.wav +0 -0
  86. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/y.wav +0 -0
  87. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/yourcall.wav +0 -0
  88. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/phonetics/z.wav +0 -0
  89. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/pickcontest.ui +0 -0
  90. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/radio_green.png +0 -0
  91. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/radio_grey.png +0 -0
  92. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/radio_red.png +0 -0
  93. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/reddot.png +0 -0
  94. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/rttymacros.txt +0 -0
  95. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/settings.ui +0 -0
  96. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/splash.png +0 -0
  97. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/ssbmacros.txt +0 -0
  98. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/data/vfo.ui +0 -0
  99. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/fsutils.py +0 -0
  100. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/lib/__init__.py +0 -0
  101. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/lib/about.py +0 -0
  102. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/lib/cat_interface.py +0 -0
  103. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/lib/cwinterface.py +0 -0
  104. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/lib/edit_contact.py +0 -0
  105. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/lib/edit_macro.py +0 -0
  106. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/lib/edit_opon.py +0 -0
  107. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/lib/edit_station.py +0 -0
  108. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/lib/fldigi_sendstring.py +0 -0
  109. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/lib/fldigi_watcher.py +0 -0
  110. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/lib/ft8_watcher.py +0 -0
  111. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/lib/ham_utility.py +0 -0
  112. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/lib/lookup.py +0 -0
  113. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/lib/multicast.py +0 -0
  114. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/lib/n1mm.py +0 -0
  115. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/lib/new_contest.py +0 -0
  116. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/lib/plugin_common.py +0 -0
  117. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/lib/select_contest.py +0 -0
  118. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/lib/settings.py +0 -0
  119. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/lib/super_check_partial.py +0 -0
  120. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/lib/versiontest.py +0 -0
  121. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/logwindow.py +0 -0
  122. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/lookupservice.py +0 -0
  123. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/10_10_fall_cw.py +0 -0
  124. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/10_10_spring_cw.py +0 -0
  125. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/10_10_summer_phone.py +0 -0
  126. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/10_10_winter_phone.py +0 -0
  127. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/__init__.py +0 -0
  128. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/arrl_10m.py +0 -0
  129. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/arrl_dx_cw.py +0 -0
  130. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/arrl_dx_ssb.py +0 -0
  131. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/arrl_field_day.py +0 -0
  132. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/arrl_rtty_ru.py +0 -0
  133. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/arrl_ss_cw.py +0 -0
  134. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/arrl_ss_phone.py +0 -0
  135. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/arrl_vhf_jan.py +0 -0
  136. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/arrl_vhf_jun.py +0 -0
  137. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/arrl_vhf_sep.py +0 -0
  138. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/canada_day.py +0 -0
  139. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/cq_160_cw.py +0 -0
  140. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/cq_160_ssb.py +0 -0
  141. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/cq_wpx_cw.py +0 -0
  142. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/cq_wpx_rtty.py +0 -0
  143. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/cq_wpx_ssb.py +0 -0
  144. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/cq_ww_cw.py +0 -0
  145. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/cq_ww_rtty.py +0 -0
  146. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/cq_ww_ssb.py +0 -0
  147. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/cwt.py +0 -0
  148. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/darc_xmas.py +0 -0
  149. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/general_logging.py +0 -0
  150. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/helvetia.py +0 -0
  151. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/iaru_fieldday_r1_cw.py +0 -0
  152. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/iaru_fieldday_r1_ssb.py +0 -0
  153. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/iaru_hf.py +0 -0
  154. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/icwc_mst.py +0 -0
  155. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/jidx_cw.py +0 -0
  156. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/jidx_ph.py +0 -0
  157. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/k1usn_sst.py +0 -0
  158. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/lz-dx.py +0 -0
  159. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/naqp_cw.py +0 -0
  160. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/naqp_rtty.py +0 -0
  161. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/naqp_ssb.py +0 -0
  162. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/phone_weekly_test.py +0 -0
  163. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/raem.py +0 -0
  164. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/ref_cw.py +0 -0
  165. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/ref_ssb.py +0 -0
  166. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/stew_perry_topband.py +0 -0
  167. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/weekly_rtty.py +0 -0
  168. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/plugins/winter_field_day.py +0 -0
  169. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/radio.py +0 -0
  170. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/test.py +0 -0
  171. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/vfo.py +0 -0
  172. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm/voice_keying.py +0 -0
  173. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm.egg-info/dependency_links.txt +0 -0
  174. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm.egg-info/entry_points.txt +0 -0
  175. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm.egg-info/requires.txt +0 -0
  176. {not1mm-24.11.27 → not1mm-24.12.3.1}/not1mm.egg-info/top_level.txt +0 -0
  177. {not1mm-24.11.27 → not1mm-24.12.3.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.11.27
3
+ Version: 24.12.3.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
@@ -238,25 +238,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
238
238
 
239
239
  ## Recent Changes (Polishing the Turd)
240
240
 
241
- - [24-11-27] Added CAT poll interval.
242
- - [24-11-26-1] Changed ESC to stop CW, CTRL-W to wipe input fields.
243
- - [24-11-26] Trying something different with rigctld parsing.
244
- - [24-11-15] Fix CQWW points, fix mode showing as RPRT.
245
- - [24-11-24-1] Add ESM to CQ160, ARRL VHF, ARRL 10M, 10 10 contests.
246
- - [24-11-24] Added ESM to IARU HF and FieldDay.
247
- - [24-11-23] Made macros per contest.
248
- - [24-11-21] Merged PR from alduhoo setting CW Speed via rigctld, Added ESM and call history support for General Logging.
249
- - [24-11-19] Added ESM to Stew Perry, Phone Weekly, Medium Speed Test and JIDX.
250
- - [24-11-18] Accepted PR from dg9vh for the DARC XMAS Contest.
251
- - [24-11-17] Accepted PR from dg9vh for the LZ DX contest.
252
- - [24-11-15] Made checkwindow font bigger and match a little more contrasted.
253
- - [24-11-12] add check for ipv4 address for CAT.
254
- - [24-11-10] ReJiggered CAT/flrig interface to hopefull make it more workable.
255
- - [24-11-6] Added Call history to ARRL VHF, CQ160, CQWW, StewPerry, Weekly RTTY
256
- - [24-11-5] Fix crash with bad qrz credentials.
257
- - [24-11-3-1] Fixed CWT ESM, Add Call History to CWT, Helvetia, WFD, NAQP, K1USN. Add ESM Helvetia.
258
- - [24-11-3] Added RAEM contest
259
- - [24-11-2] Add beginning of call history files. Add command buttons.
241
+ - [24-12-3-1] Adding ARRL 160
242
+ - [24-12-3] Add button to bandmap to delete marked spots.
260
243
 
261
244
  See [CHANGELOG.md](CHANGELOG.md) for prior changes.
262
245
 
@@ -207,25 +207,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
207
207
 
208
208
  ## Recent Changes (Polishing the Turd)
209
209
 
210
- - [24-11-27] Added CAT poll interval.
211
- - [24-11-26-1] Changed ESC to stop CW, CTRL-W to wipe input fields.
212
- - [24-11-26] Trying something different with rigctld parsing.
213
- - [24-11-15] Fix CQWW points, fix mode showing as RPRT.
214
- - [24-11-24-1] Add ESM to CQ160, ARRL VHF, ARRL 10M, 10 10 contests.
215
- - [24-11-24] Added ESM to IARU HF and FieldDay.
216
- - [24-11-23] Made macros per contest.
217
- - [24-11-21] Merged PR from alduhoo setting CW Speed via rigctld, Added ESM and call history support for General Logging.
218
- - [24-11-19] Added ESM to Stew Perry, Phone Weekly, Medium Speed Test and JIDX.
219
- - [24-11-18] Accepted PR from dg9vh for the DARC XMAS Contest.
220
- - [24-11-17] Accepted PR from dg9vh for the LZ DX contest.
221
- - [24-11-15] Made checkwindow font bigger and match a little more contrasted.
222
- - [24-11-12] add check for ipv4 address for CAT.
223
- - [24-11-10] ReJiggered CAT/flrig interface to hopefull make it more workable.
224
- - [24-11-6] Added Call history to ARRL VHF, CQ160, CQWW, StewPerry, Weekly RTTY
225
- - [24-11-5] Fix crash with bad qrz credentials.
226
- - [24-11-3-1] Fixed CWT ESM, Add Call History to CWT, Helvetia, WFD, NAQP, K1USN. Add ESM Helvetia.
227
- - [24-11-3] Added RAEM contest
228
- - [24-11-2] Add beginning of call history files. Add command buttons.
210
+ - [24-12-3-1] Adding ARRL 160
211
+ - [24-12-3] Add button to bandmap to delete marked spots.
229
212
 
230
213
  See [CHANGELOG.md](CHANGELOG.md) for prior changes.
231
214
 
@@ -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()
@@ -6,7 +6,7 @@
6
6
  <rect>
7
7
  <x>0</x>
8
8
  <y>0</y>
9
- <width>383</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>359</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 all</string>
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>Clear All</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>Zoom In</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>Zoom Out</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>
@@ -217,6 +217,11 @@
217
217
  <string>ARRL 10M</string>
218
218
  </property>
219
219
  </item>
220
+ <item>
221
+ <property name="text">
222
+ <string>ARRL 160M</string>
223
+ </property>
224
+ </item>
220
225
  <item>
221
226
  <property name="text">
222
227
  <string>ARRL DX CW</string>
@@ -695,6 +695,23 @@ class DataBase:
695
695
  logger.debug("%s", exception)
696
696
  return {}
697
697
 
698
+ def fetch_exchange1_unique_count(self) -> dict:
699
+ """
700
+ Fetch count of unique countries
701
+ {exch1_count: count}
702
+ """
703
+ try:
704
+ with sqlite3.connect(self.database) as conn:
705
+ conn.row_factory = self.row_factory
706
+ cursor = conn.cursor()
707
+ cursor.execute(
708
+ f"select count(DISTINCT(Exchange1)) as exch1_count from dxlog where Exchange1 != '' and ContestNR = {self.current_contest};"
709
+ )
710
+ return cursor.fetchone()
711
+ except sqlite3.OperationalError as exception:
712
+ logger.debug("%s", exception)
713
+ return {}
714
+
698
715
  def fetch_arrldx_country_band_count(self) -> dict:
699
716
  """
700
717
  returns dict with count of unique NR.
@@ -0,0 +1,3 @@
1
+ """It's the version"""
2
+
3
+ __version__ = "24.12.3.1"