not1mm 24.11.12.1__tar.gz → 24.11.17__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 (176) hide show
  1. {not1mm-24.11.12.1 → not1mm-24.11.17}/PKG-INFO +48 -3
  2. {not1mm-24.11.12.1 → not1mm-24.11.17}/README.md +47 -2
  3. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/__main__.py +10 -6
  4. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/checkwindow.py +1 -1
  5. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/checkwindow.ui +18 -0
  6. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/new_contest.ui +5 -0
  7. not1mm-24.11.17/not1mm/lib/version.py +3 -0
  8. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/arrl_ss_cw.py +10 -0
  9. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/arrl_vhf_jan.py +10 -0
  10. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/arrl_vhf_jun.py +10 -0
  11. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/arrl_vhf_sep.py +10 -0
  12. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/cq_160_cw.py +10 -0
  13. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/cq_160_ssb.py +10 -0
  14. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/cq_ww_cw.py +10 -0
  15. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/cq_ww_rtty.py +10 -0
  16. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/cq_ww_ssb.py +10 -0
  17. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/cwt.py +10 -0
  18. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/helvetia.py +10 -0
  19. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/k1usn_sst.py +10 -0
  20. not1mm-24.11.17/not1mm/plugins/lz-dx.py +634 -0
  21. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/naqp_cw.py +10 -0
  22. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/naqp_rtty.py +10 -0
  23. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/naqp_ssb.py +10 -0
  24. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/raem.py +10 -0
  25. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/stew_perry_topband.py +10 -0
  26. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/weekly_rtty.py +10 -0
  27. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/winter_field_day.py +10 -0
  28. not1mm-24.11.17/not1mm/test.py +8 -0
  29. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm.egg-info/PKG-INFO +48 -3
  30. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm.egg-info/SOURCES.txt +1 -0
  31. {not1mm-24.11.12.1 → not1mm-24.11.17}/pyproject.toml +1 -1
  32. not1mm-24.11.12.1/not1mm/lib/version.py +0 -3
  33. not1mm-24.11.12.1/not1mm/test.py +0 -39
  34. {not1mm-24.11.12.1 → not1mm-24.11.17}/LICENSE +0 -0
  35. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/__init__.py +0 -0
  36. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/bandmap.py +0 -0
  37. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/JetBrainsMono-ExtraLight.ttf +0 -0
  38. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/MASTER.SCP +0 -0
  39. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/about.ui +0 -0
  40. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/alpha bravo charlie delta.txt +0 -0
  41. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/bandmap.ui +0 -0
  42. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/check.png +0 -0
  43. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/configuration.ui +0 -0
  44. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/contests.sql +0 -0
  45. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/cty.json +0 -0
  46. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/cwmacros.txt +0 -0
  47. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/donors.html +0 -0
  48. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/editcontact.ui +0 -0
  49. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/editmacro.ui +0 -0
  50. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/greendot.png +0 -0
  51. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/k6gte-not1mm.desktop +0 -0
  52. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/k6gte.not1mm-128.png +0 -0
  53. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/k6gte.not1mm-32.png +0 -0
  54. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/k6gte.not1mm-64.png +0 -0
  55. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/logwindow.ui +0 -0
  56. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/logwindowx.ui +0 -0
  57. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/main.ui +0 -0
  58. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/not1mm.html +0 -0
  59. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/opon.ui +0 -0
  60. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/0.wav +0 -0
  61. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/1.wav +0 -0
  62. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/2.wav +0 -0
  63. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/3.wav +0 -0
  64. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/4.wav +0 -0
  65. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/5.wav +0 -0
  66. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/6.wav +0 -0
  67. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/7.wav +0 -0
  68. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/73.wav +0 -0
  69. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/8.wav +0 -0
  70. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/9.wav +0 -0
  71. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/a.wav +0 -0
  72. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/again.wav +0 -0
  73. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/b.wav +0 -0
  74. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/c.wav +0 -0
  75. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/contest.wav +0 -0
  76. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/cq.wav +0 -0
  77. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/cq2.wav +0 -0
  78. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/d.wav +0 -0
  79. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/e.wav +0 -0
  80. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/f.wav +0 -0
  81. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/g.wav +0 -0
  82. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/h.wav +0 -0
  83. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/i.wav +0 -0
  84. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/j.wav +0 -0
  85. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/k.wav +0 -0
  86. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/k6gte.wav +0 -0
  87. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/l.wav +0 -0
  88. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/m.wav +0 -0
  89. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/mynumber.wav +0 -0
  90. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/n.wav +0 -0
  91. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/nil.wav +0 -0
  92. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/o.wav +0 -0
  93. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/p.wav +0 -0
  94. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/q.wav +0 -0
  95. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/r.wav +0 -0
  96. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/roger.wav +0 -0
  97. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/s.wav +0 -0
  98. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/space.wav +0 -0
  99. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/t.wav +0 -0
  100. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/thankyou.wav +0 -0
  101. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
  102. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/u.wav +0 -0
  103. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/v.wav +0 -0
  104. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/w.wav +0 -0
  105. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/x.wav +0 -0
  106. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/y.wav +0 -0
  107. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/yourcall.wav +0 -0
  108. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/phonetics/z.wav +0 -0
  109. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/pickcontest.ui +0 -0
  110. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/radio_green.png +0 -0
  111. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/radio_grey.png +0 -0
  112. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/radio_red.png +0 -0
  113. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/reddot.png +0 -0
  114. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/rttymacros.txt +0 -0
  115. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/settings.ui +0 -0
  116. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/splash.png +0 -0
  117. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/ssbmacros.txt +0 -0
  118. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/data/vfo.ui +0 -0
  119. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/fsutils.py +0 -0
  120. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/__init__.py +0 -0
  121. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/about.py +0 -0
  122. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/cat_interface.py +0 -0
  123. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/cwinterface.py +0 -0
  124. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/database.py +0 -0
  125. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/edit_contact.py +0 -0
  126. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/edit_macro.py +0 -0
  127. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/edit_opon.py +0 -0
  128. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/edit_station.py +0 -0
  129. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/fldigi_sendstring.py +0 -0
  130. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/fldigi_watcher.py +0 -0
  131. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/ft8_watcher.py +0 -0
  132. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/ham_utility.py +0 -0
  133. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/lookup.py +0 -0
  134. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/multicast.py +0 -0
  135. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/n1mm.py +0 -0
  136. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/new_contest.py +0 -0
  137. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/plugin_common.py +0 -0
  138. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/select_contest.py +0 -0
  139. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/settings.py +0 -0
  140. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/super_check_partial.py +0 -0
  141. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lib/versiontest.py +0 -0
  142. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/logwindow.py +0 -0
  143. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/lookupservice.py +0 -0
  144. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/10_10_fall_cw.py +0 -0
  145. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/10_10_spring_cw.py +0 -0
  146. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/10_10_summer_phone.py +0 -0
  147. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/10_10_winter_phone.py +0 -0
  148. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/__init__.py +0 -0
  149. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/arrl_10m.py +0 -0
  150. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/arrl_dx_cw.py +0 -0
  151. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/arrl_dx_ssb.py +0 -0
  152. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/arrl_field_day.py +0 -0
  153. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/arrl_rtty_ru.py +0 -0
  154. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/arrl_ss_phone.py +0 -0
  155. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/canada_day.py +0 -0
  156. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/cq_wpx_cw.py +0 -0
  157. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/cq_wpx_rtty.py +0 -0
  158. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/cq_wpx_ssb.py +0 -0
  159. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/general_logging.py +0 -0
  160. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/iaru_fieldday_r1_cw.py +0 -0
  161. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/iaru_fieldday_r1_ssb.py +0 -0
  162. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/iaru_hf.py +0 -0
  163. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/icwc_mst.py +0 -0
  164. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/jidx_cw.py +0 -0
  165. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/jidx_ph.py +0 -0
  166. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/phone_weekly_test.py +0 -0
  167. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/ref_cw.py +0 -0
  168. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/plugins/ref_ssb.py +0 -0
  169. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/radio.py +0 -0
  170. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/vfo.py +0 -0
  171. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm/voice_keying.py +0 -0
  172. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm.egg-info/dependency_links.txt +0 -0
  173. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm.egg-info/entry_points.txt +0 -0
  174. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm.egg-info/requires.txt +0 -0
  175. {not1mm-24.11.12.1 → not1mm-24.11.17}/not1mm.egg-info/top_level.txt +0 -0
  176. {not1mm-24.11.12.1 → not1mm-24.11.17}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.11.12.1
3
+ Version: 24.11.17
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
@@ -236,6 +236,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
236
236
 
237
237
  ## Recent Changes (Polishing the Turd)
238
238
 
239
+ - [24-11-17] Accepted PR from dg9vh for the LZ DX contest.
240
+ - [24-11-15] Made checkwindow font bigger and match a little more contrasted.
239
241
  - [24-11-12] add check for ipv4 address for CAT.
240
242
  - [24-11-10] ReJiggered CAT/flrig interface to hopefull make it more workable.
241
243
  - [24-11-6] Added Call history to ARRL VHF, CQ160, CQWW, StewPerry, Weekly RTTY
@@ -859,7 +861,7 @@ change.
859
861
  I caved and started working on ESM or Enter Sends Message. To test it out you can
860
862
  go to `FILE -> Configuration Settings`
861
863
 
862
- ![Config Screen](https://github.com/mbridak/not1mm/raw/master/pic/esm_config.png)
864
+ ![Config Screen](https://github.com/mbridak/not1mm/raw/master/pic/configuration_options.png)
863
865
 
864
866
  Check the mark to Enable ESM and tell it which function keys do what. The keys will need
865
867
  to have the same function in both Run and S&P modes. The function keys will highlight
@@ -903,7 +905,50 @@ QRZ (for Run) or Exchange (for S&P) is sent.
903
905
 
904
906
  ## Call History Files
905
907
 
906
- I've started work on using 'call history files'.
908
+ I've started work on using 'call history files'. To test it, you can
909
+ go to `FILE -> Configuration Settings`
910
+
911
+ ![Config Screen](https://github.com/mbridak/not1mm/raw/master/pic/configuration_options.png)
912
+
913
+ Place a check in the `Use Call History` box. Call history files are very specific to the contest you are working. Example files can be obtained from [n1mm's](https://n1mmwp.hamdocs.com/mmfiles/categories/callhistory/?) website. They have a searchbox so you can find the contest you are looking for. If you are feeling masocistic, you can craft your own. The general makeup of the file is a header defining the fields to be used, followed by by lines of comma separated data.
914
+
915
+ An example file excerpt looks like:
916
+
917
+ ```text
918
+ !!Order!!,Call,Name,State,UserText,
919
+ #
920
+ # 0-This is helping file, LOG what is sent.
921
+ # 1-Last Edit,2024-08-18
922
+ # 2-Send any corrections direct to ve2fk@arrl.net
923
+ # 3-Updated from the log of Marsh/KA5M
924
+ # 4-Thanks Bjorn SM7IUN for his help.
925
+ # 5-Thanks
926
+ # NAQPCW
927
+ # NAQPRTTY
928
+ # NAQPSSB
929
+ # SPRINTCW
930
+ # SPRINTLADD
931
+ # SPRINTNS
932
+ # SPRINTRTTY
933
+ # SPRINTSSB
934
+ AA0AC,DAVE,MN,Example UserText
935
+ AA0AI,STEVE,IA,
936
+ AA0AO,TOM,MN,
937
+ AA0AW,DOUG,MN,
938
+ AA0BA,,TN,
939
+ AA0BR,,CO,
940
+ AA0BW,,MO,
941
+ ```
942
+
943
+ The first line is the field definition header. The lines starting with a `#` are comments. Some of the comments are other contests that this file also works with.
944
+ This is followed by the actual data. If the matched call has `UserText` information, that user text is populated to the bottom left of the logging window.
945
+
946
+ So if one were to go to `FILE -> LOAD CALL HISTORY FILE` and choose a downloaded call history file for NAQP and typed in the call AA0AC while operating in the NAQP, after pressing space, one would see:
947
+
948
+ ![Call History Example](https://github.com/mbridak/not1mm/raw/master/pic/call_history_example.png)
949
+
950
+ Where the Name and State would auto-populate and the UserText info apprears in the bottom left.
951
+
907
952
 
908
953
  ## Contest specific notes
909
954
 
@@ -205,6 +205,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
205
205
 
206
206
  ## Recent Changes (Polishing the Turd)
207
207
 
208
+ - [24-11-17] Accepted PR from dg9vh for the LZ DX contest.
209
+ - [24-11-15] Made checkwindow font bigger and match a little more contrasted.
208
210
  - [24-11-12] add check for ipv4 address for CAT.
209
211
  - [24-11-10] ReJiggered CAT/flrig interface to hopefull make it more workable.
210
212
  - [24-11-6] Added Call history to ARRL VHF, CQ160, CQWW, StewPerry, Weekly RTTY
@@ -828,7 +830,7 @@ change.
828
830
  I caved and started working on ESM or Enter Sends Message. To test it out you can
829
831
  go to `FILE -> Configuration Settings`
830
832
 
831
- ![Config Screen](https://github.com/mbridak/not1mm/raw/master/pic/esm_config.png)
833
+ ![Config Screen](https://github.com/mbridak/not1mm/raw/master/pic/configuration_options.png)
832
834
 
833
835
  Check the mark to Enable ESM and tell it which function keys do what. The keys will need
834
836
  to have the same function in both Run and S&P modes. The function keys will highlight
@@ -872,7 +874,50 @@ QRZ (for Run) or Exchange (for S&P) is sent.
872
874
 
873
875
  ## Call History Files
874
876
 
875
- I've started work on using 'call history files'.
877
+ I've started work on using 'call history files'. To test it, you can
878
+ go to `FILE -> Configuration Settings`
879
+
880
+ ![Config Screen](https://github.com/mbridak/not1mm/raw/master/pic/configuration_options.png)
881
+
882
+ Place a check in the `Use Call History` box. Call history files are very specific to the contest you are working. Example files can be obtained from [n1mm's](https://n1mmwp.hamdocs.com/mmfiles/categories/callhistory/?) website. They have a searchbox so you can find the contest you are looking for. If you are feeling masocistic, you can craft your own. The general makeup of the file is a header defining the fields to be used, followed by by lines of comma separated data.
883
+
884
+ An example file excerpt looks like:
885
+
886
+ ```text
887
+ !!Order!!,Call,Name,State,UserText,
888
+ #
889
+ # 0-This is helping file, LOG what is sent.
890
+ # 1-Last Edit,2024-08-18
891
+ # 2-Send any corrections direct to ve2fk@arrl.net
892
+ # 3-Updated from the log of Marsh/KA5M
893
+ # 4-Thanks Bjorn SM7IUN for his help.
894
+ # 5-Thanks
895
+ # NAQPCW
896
+ # NAQPRTTY
897
+ # NAQPSSB
898
+ # SPRINTCW
899
+ # SPRINTLADD
900
+ # SPRINTNS
901
+ # SPRINTRTTY
902
+ # SPRINTSSB
903
+ AA0AC,DAVE,MN,Example UserText
904
+ AA0AI,STEVE,IA,
905
+ AA0AO,TOM,MN,
906
+ AA0AW,DOUG,MN,
907
+ AA0BA,,TN,
908
+ AA0BR,,CO,
909
+ AA0BW,,MO,
910
+ ```
911
+
912
+ The first line is the field definition header. The lines starting with a `#` are comments. Some of the comments are other contests that this file also works with.
913
+ This is followed by the actual data. If the matched call has `UserText` information, that user text is populated to the bottom left of the logging window.
914
+
915
+ So if one were to go to `FILE -> LOAD CALL HISTORY FILE` and choose a downloaded call history file for NAQP and typed in the call AA0AC while operating in the NAQP, after pressing space, one would see:
916
+
917
+ ![Call History Example](https://github.com/mbridak/not1mm/raw/master/pic/call_history_example.png)
918
+
919
+ Where the Name and State would auto-populate and the UserText info apprears in the bottom left.
920
+
876
921
 
877
922
  ## Contest specific notes
878
923
 
@@ -608,11 +608,8 @@ class MainWindow(QtWidgets.QMainWindow):
608
608
  if len(x) == 1:
609
609
  if int(x[0]) > 6:
610
610
  old_Qt = False
611
- elif len(x) == 2:
612
- if int(x[0]) >= 6 and int(x[1]) > 8:
613
- old_Qt = False
614
- elif len(x) == 3:
615
- if int(x[0]) >= 6 and int(x[1]) >= 7 and int(x[2]) >= 2:
611
+ elif len(x) >= 2:
612
+ if int(x[0]) >= 6 and int(x[1]) >= 8:
616
613
  old_Qt = False
617
614
 
618
615
  # Featureset for wayland if pyqt is older that 6.7.1
@@ -3030,6 +3027,8 @@ class MainWindow(QtWidgets.QMainWindow):
3030
3027
  self.use_call_history = self.pref.get("use_call_history", False)
3031
3028
  if self.use_call_history:
3032
3029
  self.history_info.show()
3030
+ else:
3031
+ self.history_info.hide()
3033
3032
  self.use_esm = self.pref.get("use_esm", False)
3034
3033
  self.esm_dict["CQ"] = fkey_dict.get(self.pref.get("esm_cq", "DISABLED"))
3035
3034
  self.esm_dict["EXCH"] = fkey_dict.get(self.pref.get("esm_exch", "DISABLED"))
@@ -3275,6 +3274,11 @@ class MainWindow(QtWidgets.QMainWindow):
3275
3274
  self.dupe_indicator.show()
3276
3275
  else:
3277
3276
  self.dupe_indicator.hide()
3277
+ if self.contest:
3278
+ if self.use_call_history and hasattr(
3279
+ self.contest, "populate_history_info_line"
3280
+ ):
3281
+ self.contest.populate_history_info_line(self)
3278
3282
 
3279
3283
  def change_freq(self, stripped_text: str) -> None:
3280
3284
  """
@@ -3429,7 +3433,7 @@ class MainWindow(QtWidgets.QMainWindow):
3429
3433
  self.contact["CountryPrefix"] = primary_pfx
3430
3434
  self.contact["ZN"] = int(cq)
3431
3435
  if self.contest:
3432
- if self.contest.name == "IARU HF":
3436
+ if self.contest.name in ("IARU HF", "LZ DX"):
3433
3437
  self.contact["ZN"] = int(itu)
3434
3438
  self.contact["Continent"] = continent
3435
3439
  self.dx_entity.setText(
@@ -41,7 +41,7 @@ class CheckWindow(QDockWidget):
41
41
 
42
42
  character_remove_color = "#dd3333"
43
43
  character_add_color = "#3333dd"
44
- character_match_color = "#33dd33"
44
+ character_match_color = "#33bb33"
45
45
 
46
46
  masterScrollWidget: QWidget = None
47
47
 
@@ -31,6 +31,12 @@
31
31
  <property name="focusPolicy">
32
32
  <enum>Qt::ClickFocus</enum>
33
33
  </property>
34
+ <property name="font">
35
+ <font>
36
+ <family>JetBrains Mono ExtraLight</family>
37
+ <pointsize>12</pointsize>
38
+ </font>
39
+ </property>
34
40
  <property name="sizeAdjustPolicy">
35
41
  <enum>QAbstractScrollArea::AdjustToContents</enum>
36
42
  </property>
@@ -62,6 +68,12 @@
62
68
  <property name="focusPolicy">
63
69
  <enum>Qt::ClickFocus</enum>
64
70
  </property>
71
+ <property name="font">
72
+ <font>
73
+ <family>JetBrains Mono ExtraLight</family>
74
+ <pointsize>12</pointsize>
75
+ </font>
76
+ </property>
65
77
  <property name="sizeAdjustPolicy">
66
78
  <enum>QAbstractScrollArea::AdjustToContents</enum>
67
79
  </property>
@@ -93,6 +105,12 @@
93
105
  <property name="focusPolicy">
94
106
  <enum>Qt::ClickFocus</enum>
95
107
  </property>
108
+ <property name="font">
109
+ <font>
110
+ <family>JetBrains Mono ExtraLight</family>
111
+ <pointsize>12</pointsize>
112
+ </font>
113
+ </property>
96
114
  <property name="sizeAdjustPolicy">
97
115
  <enum>QAbstractScrollArea::AdjustToContents</enum>
98
116
  </property>
@@ -347,6 +347,11 @@
347
347
  <string>K1USN SST</string>
348
348
  </property>
349
349
  </item>
350
+ <item>
351
+ <property name="text">
352
+ <string>LZ-DX</string>
353
+ </property>
354
+ </item>
350
355
  <item>
351
356
  <property name="text">
352
357
  <string>NAQP CW</string>
@@ -0,0 +1,3 @@
1
+ """It's the version"""
2
+
3
+ __version__ = "24.11.17"
@@ -134,6 +134,16 @@ def prefill(self):
134
134
  field.setText(serial_nr)
135
135
 
136
136
 
137
+ def populate_history_info_line(self):
138
+ result = self.database.fetch_call_history(self.callsign.text())
139
+ if result:
140
+ self.history_info.setText(
141
+ f"{result.get('Call', '')}, {result.get('CK', '')}, {result.get('Sect', '')}, {result.get('UserText','...')}"
142
+ )
143
+ else:
144
+ self.history_info.setText("")
145
+
146
+
137
147
  def check_call_history(self):
138
148
  """"""
139
149
  result = self.database.fetch_call_history(self.callsign.text())
@@ -537,6 +537,16 @@ def ft8_handler(the_packet: dict):
537
537
  ALTEREGO.save_contact()
538
538
 
539
539
 
540
+ def populate_history_info_line(self):
541
+ result = self.database.fetch_call_history(self.callsign.text())
542
+ if result:
543
+ self.history_info.setText(
544
+ f"{result.get('Call', '')}, {result.get('Loc1', '')}, {result.get('UserText','...')}"
545
+ )
546
+ else:
547
+ self.history_info.setText("")
548
+
549
+
540
550
  def check_call_history(self):
541
551
  """"""
542
552
  result = self.database.fetch_call_history(self.callsign.text())
@@ -505,6 +505,16 @@ def ft8_handler(the_packet: dict):
505
505
  ALTEREGO.save_contact()
506
506
 
507
507
 
508
+ def populate_history_info_line(self):
509
+ result = self.database.fetch_call_history(self.callsign.text())
510
+ if result:
511
+ self.history_info.setText(
512
+ f"{result.get('Call', '')}, {result.get('Loc1', '')}, {result.get('UserText','...')}"
513
+ )
514
+ else:
515
+ self.history_info.setText("")
516
+
517
+
508
518
  def check_call_history(self):
509
519
  """"""
510
520
  result = self.database.fetch_call_history(self.callsign.text())
@@ -505,6 +505,16 @@ def ft8_handler(the_packet: dict):
505
505
  ALTEREGO.save_contact()
506
506
 
507
507
 
508
+ def populate_history_info_line(self):
509
+ result = self.database.fetch_call_history(self.callsign.text())
510
+ if result:
511
+ self.history_info.setText(
512
+ f"{result.get('Call', '')}, {result.get('Loc1', '')}, {result.get('UserText','...')}"
513
+ )
514
+ else:
515
+ self.history_info.setText("")
516
+
517
+
508
518
  def check_call_history(self):
509
519
  """"""
510
520
  result = self.database.fetch_call_history(self.callsign.text())
@@ -450,6 +450,16 @@ def recalculate_mults(self):
450
450
  trigger_update(self)
451
451
 
452
452
 
453
+ def populate_history_info_line(self):
454
+ result = self.database.fetch_call_history(self.callsign.text())
455
+ if result:
456
+ self.history_info.setText(
457
+ f"{result.get('Call', '')}, {result.get('UserText','...')}"
458
+ )
459
+ else:
460
+ self.history_info.setText("")
461
+
462
+
453
463
  def check_call_history(self):
454
464
  """"""
455
465
  result = self.database.fetch_call_history(self.callsign.text())
@@ -450,6 +450,16 @@ def recalculate_mults(self):
450
450
  trigger_update(self)
451
451
 
452
452
 
453
+ def populate_history_info_line(self):
454
+ result = self.database.fetch_call_history(self.callsign.text())
455
+ if result:
456
+ self.history_info.setText(
457
+ f"{result.get('Call', '')}, {result.get('UserText','...')}"
458
+ )
459
+ else:
460
+ self.history_info.setText("")
461
+
462
+
453
463
  def check_call_history(self):
454
464
  """"""
455
465
  result = self.database.fetch_call_history(self.callsign.text())
@@ -520,6 +520,16 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
520
520
  self.process_function_key(button)
521
521
 
522
522
 
523
+ def populate_history_info_line(self):
524
+ result = self.database.fetch_call_history(self.callsign.text())
525
+ if result:
526
+ self.history_info.setText(
527
+ f"{result.get('Call', '')}, {result.get('CQZone', '')}, {result.get('UserText','...')}"
528
+ )
529
+ else:
530
+ self.history_info.setText("")
531
+
532
+
523
533
  def check_call_history(self):
524
534
  """"""
525
535
  result = self.database.fetch_call_history(self.callsign.text())
@@ -639,6 +639,16 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
639
639
  self.fldigi_util.send_string(sendstring)
640
640
 
641
641
 
642
+ def populate_history_info_line(self):
643
+ result = self.database.fetch_call_history(self.callsign.text())
644
+ if result:
645
+ self.history_info.setText(
646
+ f"{result.get('Call', '')}, {result.get('CQZone', '')}, {result.get('State', '')}, {result.get('UserText','...')}"
647
+ )
648
+ else:
649
+ self.history_info.setText("")
650
+
651
+
642
652
  def check_call_history(self):
643
653
  """"""
644
654
  result = self.database.fetch_call_history(self.callsign.text())
@@ -508,6 +508,16 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
508
508
  self.process_function_key(button)
509
509
 
510
510
 
511
+ def populate_history_info_line(self):
512
+ result = self.database.fetch_call_history(self.callsign.text())
513
+ if result:
514
+ self.history_info.setText(
515
+ f"{result.get('Call', '')}, {result.get('CQZone', '')}, {result.get('UserText','...')}"
516
+ )
517
+ else:
518
+ self.history_info.setText("")
519
+
520
+
511
521
  def check_call_history(self):
512
522
  """"""
513
523
  result = self.database.fetch_call_history(self.callsign.text())
@@ -514,6 +514,16 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
514
514
  self.process_function_key(button)
515
515
 
516
516
 
517
+ def populate_history_info_line(self):
518
+ result = self.database.fetch_call_history(self.callsign.text())
519
+ if result:
520
+ self.history_info.setText(
521
+ f"{result.get('Call', '')}, {result.get('Name', '')}, {result.get('Exch1', '')}, {result.get('UserText','...')}"
522
+ )
523
+ else:
524
+ self.history_info.setText("")
525
+
526
+
517
527
  def check_call_history(self):
518
528
  """"""
519
529
  result = self.database.fetch_call_history(self.callsign.text())
@@ -524,6 +524,16 @@ def cabrillo(self, file_encoding):
524
524
  return
525
525
 
526
526
 
527
+ def populate_history_info_line(self):
528
+ result = self.database.fetch_call_history(self.callsign.text())
529
+ if result:
530
+ self.history_info.setText(
531
+ f"{result.get('Call', '')}, {result.get('Exch1', '')}, {result.get('UserText','...')}"
532
+ )
533
+ else:
534
+ self.history_info.setText("")
535
+
536
+
527
537
  def check_call_history(self):
528
538
  """"""
529
539
  result = self.database.fetch_call_history(self.callsign.text())
@@ -493,6 +493,16 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
493
493
  self.process_function_key(button)
494
494
 
495
495
 
496
+ def populate_history_info_line(self):
497
+ result = self.database.fetch_call_history(self.callsign.text())
498
+ if result:
499
+ self.history_info.setText(
500
+ f"{result.get('Call', '')}, {result.get('Name', '')}, {result.get('Exch1', '')}, {result.get('UserText','...')}"
501
+ )
502
+ else:
503
+ self.history_info.setText("")
504
+
505
+
496
506
  def check_call_history(self):
497
507
  """"""
498
508
  result = self.database.fetch_call_history(self.callsign.text())