not1mm 24.11.23__tar.gz → 24.11.24__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.23 → not1mm-24.11.24}/PKG-INFO +4 -3
  2. {not1mm-24.11.23 → not1mm-24.11.24}/README.md +3 -2
  3. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/donors.html +4 -0
  4. not1mm-24.11.24/not1mm/lib/version.py +3 -0
  5. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/iaru_fieldday_r1_cw.py +91 -0
  6. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/iaru_fieldday_r1_ssb.py +91 -0
  7. not1mm-24.11.24/not1mm/plugins/iaru_hf.py +491 -0
  8. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm.egg-info/PKG-INFO +4 -3
  9. {not1mm-24.11.23 → not1mm-24.11.24}/pyproject.toml +1 -1
  10. not1mm-24.11.23/not1mm/lib/version.py +0 -3
  11. not1mm-24.11.23/not1mm/plugins/iaru_hf.py +0 -381
  12. {not1mm-24.11.23 → not1mm-24.11.24}/LICENSE +0 -0
  13. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/__init__.py +0 -0
  14. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/__main__.py +0 -0
  15. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/bandmap.py +0 -0
  16. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/checkwindow.py +0 -0
  17. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/JetBrainsMono-ExtraLight.ttf +0 -0
  18. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/MASTER.SCP +0 -0
  19. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/about.ui +0 -0
  20. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/alpha bravo charlie delta.txt +0 -0
  21. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/bandmap.ui +0 -0
  22. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/check.png +0 -0
  23. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/checkwindow.ui +0 -0
  24. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/configuration.ui +0 -0
  25. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/contests.sql +0 -0
  26. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/cty.json +0 -0
  27. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/cwmacros.txt +0 -0
  28. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/editcontact.ui +0 -0
  29. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/editmacro.ui +0 -0
  30. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/greendot.png +0 -0
  31. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/k6gte-not1mm.desktop +0 -0
  32. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/k6gte.not1mm-128.png +0 -0
  33. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/k6gte.not1mm-32.png +0 -0
  34. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/k6gte.not1mm-64.png +0 -0
  35. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/logwindow.ui +0 -0
  36. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/logwindowx.ui +0 -0
  37. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/main.ui +0 -0
  38. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/new_contest.ui +0 -0
  39. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/not1mm.html +0 -0
  40. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/opon.ui +0 -0
  41. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/0.wav +0 -0
  42. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/1.wav +0 -0
  43. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/2.wav +0 -0
  44. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/3.wav +0 -0
  45. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/4.wav +0 -0
  46. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/5.wav +0 -0
  47. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/6.wav +0 -0
  48. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/7.wav +0 -0
  49. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/73.wav +0 -0
  50. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/8.wav +0 -0
  51. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/9.wav +0 -0
  52. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/a.wav +0 -0
  53. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/again.wav +0 -0
  54. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/b.wav +0 -0
  55. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/c.wav +0 -0
  56. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/contest.wav +0 -0
  57. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/cq.wav +0 -0
  58. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/cq2.wav +0 -0
  59. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/d.wav +0 -0
  60. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/e.wav +0 -0
  61. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/f.wav +0 -0
  62. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/g.wav +0 -0
  63. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/h.wav +0 -0
  64. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/i.wav +0 -0
  65. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/j.wav +0 -0
  66. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/k.wav +0 -0
  67. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/k6gte.wav +0 -0
  68. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/l.wav +0 -0
  69. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/m.wav +0 -0
  70. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/mynumber.wav +0 -0
  71. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/n.wav +0 -0
  72. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/nil.wav +0 -0
  73. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/o.wav +0 -0
  74. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/p.wav +0 -0
  75. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/q.wav +0 -0
  76. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/r.wav +0 -0
  77. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/roger.wav +0 -0
  78. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/s.wav +0 -0
  79. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/space.wav +0 -0
  80. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/t.wav +0 -0
  81. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/thankyou.wav +0 -0
  82. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
  83. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/u.wav +0 -0
  84. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/v.wav +0 -0
  85. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/w.wav +0 -0
  86. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/x.wav +0 -0
  87. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/y.wav +0 -0
  88. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/yourcall.wav +0 -0
  89. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/phonetics/z.wav +0 -0
  90. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/pickcontest.ui +0 -0
  91. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/radio_green.png +0 -0
  92. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/radio_grey.png +0 -0
  93. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/radio_red.png +0 -0
  94. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/reddot.png +0 -0
  95. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/rttymacros.txt +0 -0
  96. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/settings.ui +0 -0
  97. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/splash.png +0 -0
  98. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/ssbmacros.txt +0 -0
  99. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/data/vfo.ui +0 -0
  100. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/fsutils.py +0 -0
  101. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/lib/__init__.py +0 -0
  102. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/lib/about.py +0 -0
  103. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/lib/cat_interface.py +0 -0
  104. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/lib/cwinterface.py +0 -0
  105. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/lib/database.py +0 -0
  106. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/lib/edit_contact.py +0 -0
  107. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/lib/edit_macro.py +0 -0
  108. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/lib/edit_opon.py +0 -0
  109. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/lib/edit_station.py +0 -0
  110. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/lib/fldigi_sendstring.py +0 -0
  111. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/lib/fldigi_watcher.py +0 -0
  112. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/lib/ft8_watcher.py +0 -0
  113. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/lib/ham_utility.py +0 -0
  114. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/lib/lookup.py +0 -0
  115. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/lib/multicast.py +0 -0
  116. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/lib/n1mm.py +0 -0
  117. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/lib/new_contest.py +0 -0
  118. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/lib/plugin_common.py +0 -0
  119. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/lib/select_contest.py +0 -0
  120. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/lib/settings.py +0 -0
  121. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/lib/super_check_partial.py +0 -0
  122. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/lib/versiontest.py +0 -0
  123. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/logwindow.py +0 -0
  124. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/lookupservice.py +0 -0
  125. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/10_10_fall_cw.py +0 -0
  126. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/10_10_spring_cw.py +0 -0
  127. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/10_10_summer_phone.py +0 -0
  128. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/10_10_winter_phone.py +0 -0
  129. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/__init__.py +0 -0
  130. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/arrl_10m.py +0 -0
  131. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/arrl_dx_cw.py +0 -0
  132. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/arrl_dx_ssb.py +0 -0
  133. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/arrl_field_day.py +0 -0
  134. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/arrl_rtty_ru.py +0 -0
  135. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/arrl_ss_cw.py +0 -0
  136. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/arrl_ss_phone.py +0 -0
  137. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/arrl_vhf_jan.py +0 -0
  138. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/arrl_vhf_jun.py +0 -0
  139. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/arrl_vhf_sep.py +0 -0
  140. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/canada_day.py +0 -0
  141. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/cq_160_cw.py +0 -0
  142. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/cq_160_ssb.py +0 -0
  143. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/cq_wpx_cw.py +0 -0
  144. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/cq_wpx_rtty.py +0 -0
  145. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/cq_wpx_ssb.py +0 -0
  146. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/cq_ww_cw.py +0 -0
  147. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/cq_ww_rtty.py +0 -0
  148. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/cq_ww_ssb.py +0 -0
  149. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/cwt.py +0 -0
  150. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/darc_xmas.py +0 -0
  151. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/general_logging.py +0 -0
  152. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/helvetia.py +0 -0
  153. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/icwc_mst.py +0 -0
  154. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/jidx_cw.py +0 -0
  155. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/jidx_ph.py +0 -0
  156. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/k1usn_sst.py +0 -0
  157. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/lz-dx.py +0 -0
  158. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/naqp_cw.py +0 -0
  159. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/naqp_rtty.py +0 -0
  160. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/naqp_ssb.py +0 -0
  161. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/phone_weekly_test.py +0 -0
  162. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/raem.py +0 -0
  163. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/ref_cw.py +0 -0
  164. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/ref_ssb.py +0 -0
  165. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/stew_perry_topband.py +0 -0
  166. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/weekly_rtty.py +0 -0
  167. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/plugins/winter_field_day.py +0 -0
  168. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/radio.py +0 -0
  169. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/test.py +0 -0
  170. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/vfo.py +0 -0
  171. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm/voice_keying.py +0 -0
  172. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm.egg-info/SOURCES.txt +0 -0
  173. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm.egg-info/dependency_links.txt +0 -0
  174. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm.egg-info/entry_points.txt +0 -0
  175. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm.egg-info/requires.txt +0 -0
  176. {not1mm-24.11.23 → not1mm-24.11.24}/not1mm.egg-info/top_level.txt +0 -0
  177. {not1mm-24.11.23 → not1mm-24.11.24}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.11.23
3
+ Version: 24.11.24
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
@@ -221,8 +221,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
221
221
  - **CWOps CWT**
222
222
  - **DARC Xmas**
223
223
  - **Helvetia**
224
- - IARU Fieldday R1 CW, SSB
225
- - IARU HF
224
+ - **IARU Fieldday R1 CW, SSB**
225
+ - **IARU HF**
226
226
  - **ICWC MST**
227
227
  - **Japan International DX CW, SSB**
228
228
  - **K1USN Slow Speed Test**
@@ -238,6 +238,7 @@ 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-24] Added ESM to IARU HF and FieldDay.
241
242
  - [24-11-23] Made macros per contest.
242
243
  - [24-11-21] Merged PR from alduhoo setting CW Speed via rigctld, Added ESM and call history support for General Logging.
243
244
  - [24-11-19] Added ESM to Stew Perry, Phone Weekly, Medium Speed Test and JIDX.
@@ -190,8 +190,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
190
190
  - **CWOps CWT**
191
191
  - **DARC Xmas**
192
192
  - **Helvetia**
193
- - IARU Fieldday R1 CW, SSB
194
- - IARU HF
193
+ - **IARU Fieldday R1 CW, SSB**
194
+ - **IARU HF**
195
195
  - **ICWC MST**
196
196
  - **Japan International DX CW, SSB**
197
197
  - **K1USN Slow Speed Test**
@@ -207,6 +207,7 @@ 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-24] Added ESM to IARU HF and FieldDay.
210
211
  - [24-11-23] Made macros per contest.
211
212
  - [24-11-21] Merged PR from alduhoo setting CW Speed via rigctld, Added ESM and call history support for General Logging.
212
213
  - [24-11-19] Added ESM to Stew Perry, Phone Weekly, Medium Speed Test and JIDX.
@@ -1,4 +1,8 @@
1
1
  <p>
2
+ <h4><center>To donate visit:</center></h4>
3
+ <center>https://paypal.me/k6gte</center>
4
+ </p>
5
+ <p>
2
6
  <h2>
3
7
  <center>Donors</center>
4
8
  </h2>
@@ -0,0 +1,3 @@
1
+ """It's the version"""
2
+
3
+ __version__ = "24.11.24"
@@ -433,3 +433,94 @@ def recalculate_mults(self):
433
433
  else:
434
434
  contact["IsMultiplier1"] = 0
435
435
  self.database.change_contact(contact)
436
+
437
+
438
+ def process_esm(self, new_focused_widget=None, with_enter=False):
439
+ """ESM State Machine"""
440
+
441
+ # self.pref["run_state"]
442
+
443
+ # -----===== Assigned F-Keys =====-----
444
+ # self.esm_dict["CQ"]
445
+ # self.esm_dict["EXCH"]
446
+ # self.esm_dict["QRZ"]
447
+ # self.esm_dict["AGN"]
448
+ # self.esm_dict["HISCALL"]
449
+ # self.esm_dict["MYCALL"]
450
+ # self.esm_dict["QSOB4"]
451
+
452
+ # ----==== text fields ====----
453
+ # self.callsign
454
+ # self.sent
455
+ # self.receive
456
+ # self.other_1
457
+ # self.other_2
458
+
459
+ if new_focused_widget is not None:
460
+ self.current_widget = self.inputs_dict.get(new_focused_widget)
461
+
462
+ # print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
463
+
464
+ for a_button in [
465
+ self.esm_dict["CQ"],
466
+ self.esm_dict["EXCH"],
467
+ self.esm_dict["QRZ"],
468
+ self.esm_dict["AGN"],
469
+ self.esm_dict["HISCALL"],
470
+ self.esm_dict["MYCALL"],
471
+ self.esm_dict["QSOB4"],
472
+ ]:
473
+ if a_button is not None:
474
+ self.restore_button_color(a_button)
475
+
476
+ buttons_to_send = []
477
+
478
+ if self.pref.get("run_state"):
479
+ if self.current_widget == "callsign":
480
+ if len(self.callsign.text()) < 3:
481
+ self.make_button_green(self.esm_dict["CQ"])
482
+ buttons_to_send.append(self.esm_dict["CQ"])
483
+ elif len(self.callsign.text()) > 2:
484
+ self.make_button_green(self.esm_dict["HISCALL"])
485
+ self.make_button_green(self.esm_dict["EXCH"])
486
+ buttons_to_send.append(self.esm_dict["HISCALL"])
487
+ buttons_to_send.append(self.esm_dict["EXCH"])
488
+
489
+ elif self.current_widget in ["other_2"]:
490
+ if self.other_2.text() == "":
491
+ self.make_button_green(self.esm_dict["AGN"])
492
+ buttons_to_send.append(self.esm_dict["AGN"])
493
+ else:
494
+ self.make_button_green(self.esm_dict["QRZ"])
495
+ buttons_to_send.append(self.esm_dict["QRZ"])
496
+ buttons_to_send.append("LOGIT")
497
+
498
+ if with_enter is True and bool(len(buttons_to_send)):
499
+ for button in buttons_to_send:
500
+ if button:
501
+ if button == "LOGIT":
502
+ self.save_contact()
503
+ continue
504
+ self.process_function_key(button)
505
+ else:
506
+ if self.current_widget == "callsign":
507
+ if len(self.callsign.text()) > 2:
508
+ self.make_button_green(self.esm_dict["MYCALL"])
509
+ buttons_to_send.append(self.esm_dict["MYCALL"])
510
+
511
+ elif self.current_widget in ["other_2"]:
512
+ if self.other_2.text() == "":
513
+ self.make_button_green(self.esm_dict["AGN"])
514
+ buttons_to_send.append(self.esm_dict["AGN"])
515
+ else:
516
+ self.make_button_green(self.esm_dict["EXCH"])
517
+ buttons_to_send.append(self.esm_dict["EXCH"])
518
+ buttons_to_send.append("LOGIT")
519
+
520
+ if with_enter is True and bool(len(buttons_to_send)):
521
+ for button in buttons_to_send:
522
+ if button:
523
+ if button == "LOGIT":
524
+ self.save_contact()
525
+ continue
526
+ self.process_function_key(button)
@@ -433,3 +433,94 @@ def recalculate_mults(self):
433
433
  else:
434
434
  contact["IsMultiplier1"] = 0
435
435
  self.database.change_contact(contact)
436
+
437
+
438
+ def process_esm(self, new_focused_widget=None, with_enter=False):
439
+ """ESM State Machine"""
440
+
441
+ # self.pref["run_state"]
442
+
443
+ # -----===== Assigned F-Keys =====-----
444
+ # self.esm_dict["CQ"]
445
+ # self.esm_dict["EXCH"]
446
+ # self.esm_dict["QRZ"]
447
+ # self.esm_dict["AGN"]
448
+ # self.esm_dict["HISCALL"]
449
+ # self.esm_dict["MYCALL"]
450
+ # self.esm_dict["QSOB4"]
451
+
452
+ # ----==== text fields ====----
453
+ # self.callsign
454
+ # self.sent
455
+ # self.receive
456
+ # self.other_1
457
+ # self.other_2
458
+
459
+ if new_focused_widget is not None:
460
+ self.current_widget = self.inputs_dict.get(new_focused_widget)
461
+
462
+ # print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
463
+
464
+ for a_button in [
465
+ self.esm_dict["CQ"],
466
+ self.esm_dict["EXCH"],
467
+ self.esm_dict["QRZ"],
468
+ self.esm_dict["AGN"],
469
+ self.esm_dict["HISCALL"],
470
+ self.esm_dict["MYCALL"],
471
+ self.esm_dict["QSOB4"],
472
+ ]:
473
+ if a_button is not None:
474
+ self.restore_button_color(a_button)
475
+
476
+ buttons_to_send = []
477
+
478
+ if self.pref.get("run_state"):
479
+ if self.current_widget == "callsign":
480
+ if len(self.callsign.text()) < 3:
481
+ self.make_button_green(self.esm_dict["CQ"])
482
+ buttons_to_send.append(self.esm_dict["CQ"])
483
+ elif len(self.callsign.text()) > 2:
484
+ self.make_button_green(self.esm_dict["HISCALL"])
485
+ self.make_button_green(self.esm_dict["EXCH"])
486
+ buttons_to_send.append(self.esm_dict["HISCALL"])
487
+ buttons_to_send.append(self.esm_dict["EXCH"])
488
+
489
+ elif self.current_widget in ["other_2"]:
490
+ if self.other_2.text() == "":
491
+ self.make_button_green(self.esm_dict["AGN"])
492
+ buttons_to_send.append(self.esm_dict["AGN"])
493
+ else:
494
+ self.make_button_green(self.esm_dict["QRZ"])
495
+ buttons_to_send.append(self.esm_dict["QRZ"])
496
+ buttons_to_send.append("LOGIT")
497
+
498
+ if with_enter is True and bool(len(buttons_to_send)):
499
+ for button in buttons_to_send:
500
+ if button:
501
+ if button == "LOGIT":
502
+ self.save_contact()
503
+ continue
504
+ self.process_function_key(button)
505
+ else:
506
+ if self.current_widget == "callsign":
507
+ if len(self.callsign.text()) > 2:
508
+ self.make_button_green(self.esm_dict["MYCALL"])
509
+ buttons_to_send.append(self.esm_dict["MYCALL"])
510
+
511
+ elif self.current_widget in ["other_2"]:
512
+ if self.other_2.text() == "":
513
+ self.make_button_green(self.esm_dict["AGN"])
514
+ buttons_to_send.append(self.esm_dict["AGN"])
515
+ else:
516
+ self.make_button_green(self.esm_dict["EXCH"])
517
+ buttons_to_send.append(self.esm_dict["EXCH"])
518
+ buttons_to_send.append("LOGIT")
519
+
520
+ if with_enter is True and bool(len(buttons_to_send)):
521
+ for button in buttons_to_send:
522
+ if button:
523
+ if button == "LOGIT":
524
+ self.save_contact()
525
+ continue
526
+ self.process_function_key(button)