not1mm 23.12.17__tar.gz → 23.12.20__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 (153) hide show
  1. {not1mm-23.12.17 → not1mm-23.12.20}/PKG-INFO +13 -1
  2. {not1mm-23.12.17 → not1mm-23.12.20}/README.md +12 -0
  3. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/__main__.py +141 -16
  4. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/configuration.ui +93 -2
  5. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/main.ui +186 -3
  6. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/new_contest.ui +16 -1
  7. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/lib/ham_utility.py +16 -4
  8. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/lib/settings.py +40 -0
  9. not1mm-23.12.20/not1mm/lib/version.py +2 -0
  10. not1mm-23.12.20/not1mm/plugins/arrl_vhf_jan.py +390 -0
  11. not1mm-23.12.20/not1mm/plugins/arrl_vhf_jun.py +358 -0
  12. not1mm-23.12.20/not1mm/plugins/arrl_vhf_sep.py +357 -0
  13. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm.egg-info/PKG-INFO +13 -1
  14. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm.egg-info/SOURCES.txt +3 -0
  15. {not1mm-23.12.17 → not1mm-23.12.20}/pyproject.toml +1 -1
  16. not1mm-23.12.17/not1mm/lib/version.py +0 -2
  17. {not1mm-23.12.17 → not1mm-23.12.20}/LICENSE +0 -0
  18. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/__init__.py +0 -0
  19. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/bandmap.py +0 -0
  20. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/checkwindow.py +0 -0
  21. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/JetBrainsMono-Regular.ttf +0 -0
  22. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/MASTER.SCP +0 -0
  23. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/about.ui +0 -0
  24. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/alpha bravo charlie delta.txt +0 -0
  25. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/bandmap.ui +0 -0
  26. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/check.png +0 -0
  27. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/checkwindow.ui +0 -0
  28. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/contests.sql +0 -0
  29. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/cty.json +0 -0
  30. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/cwmacros.txt +0 -0
  31. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/donors.html +0 -0
  32. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/editcontact.ui +0 -0
  33. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/editmacro.ui +0 -0
  34. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/greendot.png +0 -0
  35. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/k6gte-not1mm.desktop +0 -0
  36. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/k6gte.not1mm-128.png +0 -0
  37. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/k6gte.not1mm-32.png +0 -0
  38. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/k6gte.not1mm-64.png +0 -0
  39. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/logwindow.ui +0 -0
  40. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/not1mm.html +0 -0
  41. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/opon.ui +0 -0
  42. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/0.wav +0 -0
  43. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/1.wav +0 -0
  44. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/2.wav +0 -0
  45. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/3.wav +0 -0
  46. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/4.wav +0 -0
  47. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/5.wav +0 -0
  48. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/6.wav +0 -0
  49. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/7.wav +0 -0
  50. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/73.wav +0 -0
  51. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/8.wav +0 -0
  52. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/9.wav +0 -0
  53. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/a.wav +0 -0
  54. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/again.wav +0 -0
  55. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/b.wav +0 -0
  56. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/c.wav +0 -0
  57. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/contest.wav +0 -0
  58. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/cq.wav +0 -0
  59. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/d.wav +0 -0
  60. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/e.wav +0 -0
  61. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/f.wav +0 -0
  62. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/g.wav +0 -0
  63. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/h.wav +0 -0
  64. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/i.wav +0 -0
  65. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/j.wav +0 -0
  66. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/k.wav +0 -0
  67. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/k6gte.wav +0 -0
  68. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/l.wav +0 -0
  69. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/m.wav +0 -0
  70. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/mynumber.wav +0 -0
  71. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/n.wav +0 -0
  72. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/nil.wav +0 -0
  73. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/o.wav +0 -0
  74. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/p.wav +0 -0
  75. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/q.wav +0 -0
  76. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/r.wav +0 -0
  77. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/roger.wav +0 -0
  78. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/s.wav +0 -0
  79. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/space.wav +0 -0
  80. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/t.wav +0 -0
  81. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/thankyou.wav +0 -0
  82. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
  83. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/u.wav +0 -0
  84. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/v.wav +0 -0
  85. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/w.wav +0 -0
  86. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/x.wav +0 -0
  87. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/y.wav +0 -0
  88. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/yourcall.wav +0 -0
  89. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/phonetics/z.wav +0 -0
  90. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/pickcontest.ui +0 -0
  91. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/radio_green.png +0 -0
  92. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/radio_grey.png +0 -0
  93. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/radio_red.png +0 -0
  94. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/reddot.png +0 -0
  95. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/settings.ui +0 -0
  96. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/ssbmacros.txt +0 -0
  97. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/data/vfo.ui +0 -0
  98. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/lib/__init__.py +0 -0
  99. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/lib/about.py +0 -0
  100. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/lib/cat_interface.py +0 -0
  101. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/lib/cwinterface.py +0 -0
  102. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/lib/database.py +0 -0
  103. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/lib/edit_contact.py +0 -0
  104. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/lib/edit_macro.py +0 -0
  105. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/lib/edit_opon.py +0 -0
  106. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/lib/edit_station.py +0 -0
  107. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/lib/lookup.py +0 -0
  108. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/lib/multicast.py +0 -0
  109. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/lib/n1mm.py +0 -0
  110. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/lib/new_contest.py +0 -0
  111. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/lib/plugin_common.py +0 -0
  112. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/lib/select_contest.py +0 -0
  113. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/lib/super_check_partial.py +0 -0
  114. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/lib/versiontest.py +0 -0
  115. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/logwindow.py +0 -0
  116. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/10_10_fall_cw.py +0 -0
  117. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/10_10_spring_cw.py +0 -0
  118. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/10_10_summer_phone.py +0 -0
  119. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/10_10_winter_phone.py +0 -0
  120. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/__init__.py +0 -0
  121. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/arrl_10m.py +0 -0
  122. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/arrl_dx_cw.py +0 -0
  123. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/arrl_dx_ssb.py +0 -0
  124. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/arrl_field_day.py +0 -0
  125. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/arrl_rtty_ru.py +0 -0
  126. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/arrl_ss_cw.py +0 -0
  127. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/arrl_ss_phone.py +0 -0
  128. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/canada_day.py +0 -0
  129. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/cq_wpx_cw.py +0 -0
  130. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/cq_wpx_ssb.py +0 -0
  131. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/cq_ww_cw.py +0 -0
  132. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/cq_ww_ssb.py +0 -0
  133. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/cwt.py +0 -0
  134. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/general_logging.py +0 -0
  135. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/iaru_hf.py +0 -0
  136. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/jidx_cw.py +0 -0
  137. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/jidx_ph.py +0 -0
  138. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/naqp_cw.py +0 -0
  139. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/naqp_ssb.py +0 -0
  140. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/plugins/winter_field_day.py +0 -0
  141. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/testing/fakeflrig.py +0 -0
  142. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/testing/flrigclient.py +0 -0
  143. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/testing/multicast_listener.py +0 -0
  144. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/testing/n1mm_listener.py +0 -0
  145. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/testing/test.py +0 -0
  146. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm/vfo.py +0 -0
  147. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm.egg-info/dependency_links.txt +0 -0
  148. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm.egg-info/entry_points.txt +0 -0
  149. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm.egg-info/requires.txt +0 -0
  150. {not1mm-23.12.17 → not1mm-23.12.20}/not1mm.egg-info/top_level.txt +0 -0
  151. {not1mm-23.12.17 → not1mm-23.12.20}/setup.cfg +0 -0
  152. {not1mm-23.12.17 → not1mm-23.12.20}/testing/test.py +0 -0
  153. {not1mm-23.12.17 → not1mm-23.12.20}/usb_vfo_knob/code.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 23.12.17
3
+ Version: 23.12.20
4
4
  Summary: NOT1MM Logger
5
5
  Author-email: Michael Bridak <michael.bridak@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/mbridak/not1mm
@@ -79,6 +79,7 @@ The worlds #1 unfinished contest logger <sup>*According to my daughter Corinna.<
79
79
  - [CW Keyer interface](#cw-keyer-interface)
80
80
  - [Cluster](#cluster)
81
81
  - [N1MM Packets](#n1mm-packets)
82
+ - [Bands](#bands)
82
83
  - [Sending CW](#sending-cw)
83
84
  - [Editing macro keys](#editing-macro-keys)
84
85
  - [Macro substitutions](#macro-substitutions)
@@ -144,6 +145,9 @@ I wish to thank those who've contributed to the project.
144
145
  - ARRL Field Day
145
146
  - ARRL Sweepstakes CW
146
147
  - ARRL Sweepstakes SSB
148
+ - ARRL VHF January
149
+ - ARRL VHF June
150
+ - ARRL VHF September
147
151
  - CQ WPX CW
148
152
  - CQ WPX SSB
149
153
  - CQ World Wide CW
@@ -159,6 +163,8 @@ I wish to thank those who've contributed to the project.
159
163
 
160
164
  ## Recent Changes
161
165
 
166
+ - [23-12-20] Add ARRL VHF Jun and Sep.
167
+ - [23-12-19] Add ARRL VHF contest. Add VHF frequencies. Add Bands TAB to configuration dialog to select active bands you want displayed.
162
168
  - [23-12-17] Add ARRL 10M contest. Fixed crash in RAC Canada Day
163
169
  - [23-12-5] Removed deprecated datetime.utcnow()
164
170
  - [23-12-4] Moved get_points to plugin_common, fixing crash.
@@ -372,6 +378,12 @@ Work has started on N1MM udp packets. So far just RadioInfo, contactinfo, contac
372
378
 
373
379
  When entering IP and Ports, enter them with a colon ':' between them. You can enter multiple pairs on the same line if separated by a space ' '.
374
380
 
381
+ ### Bands
382
+
383
+ You can define which bands appear in the main window. Those with checkmarks will appear. Those without will not.
384
+
385
+ ![Bands Configuration Screen](https://github.com/mbridak/not1mm/raw/master/pic/configure_bands.png)
386
+
375
387
  ## Sending CW
376
388
 
377
389
  Other than sending CW by hand, you can also send predefined CW text messages by pressing F1 - F12. See next section on Editing macro keys. If you need to send something freeform, you can press CTRL-SHIFT-K, this will expose an entry field at the bottom of the window which you can type directly into. When you're done you can either press CTRL-SHIFT-K again, or press the Enter Key to close the field.
@@ -50,6 +50,7 @@ The worlds #1 unfinished contest logger <sup>*According to my daughter Corinna.<
50
50
  - [CW Keyer interface](#cw-keyer-interface)
51
51
  - [Cluster](#cluster)
52
52
  - [N1MM Packets](#n1mm-packets)
53
+ - [Bands](#bands)
53
54
  - [Sending CW](#sending-cw)
54
55
  - [Editing macro keys](#editing-macro-keys)
55
56
  - [Macro substitutions](#macro-substitutions)
@@ -115,6 +116,9 @@ I wish to thank those who've contributed to the project.
115
116
  - ARRL Field Day
116
117
  - ARRL Sweepstakes CW
117
118
  - ARRL Sweepstakes SSB
119
+ - ARRL VHF January
120
+ - ARRL VHF June
121
+ - ARRL VHF September
118
122
  - CQ WPX CW
119
123
  - CQ WPX SSB
120
124
  - CQ World Wide CW
@@ -130,6 +134,8 @@ I wish to thank those who've contributed to the project.
130
134
 
131
135
  ## Recent Changes
132
136
 
137
+ - [23-12-20] Add ARRL VHF Jun and Sep.
138
+ - [23-12-19] Add ARRL VHF contest. Add VHF frequencies. Add Bands TAB to configuration dialog to select active bands you want displayed.
133
139
  - [23-12-17] Add ARRL 10M contest. Fixed crash in RAC Canada Day
134
140
  - [23-12-5] Removed deprecated datetime.utcnow()
135
141
  - [23-12-4] Moved get_points to plugin_common, fixing crash.
@@ -343,6 +349,12 @@ Work has started on N1MM udp packets. So far just RadioInfo, contactinfo, contac
343
349
 
344
350
  When entering IP and Ports, enter them with a colon ':' between them. You can enter multiple pairs on the same line if separated by a space ' '.
345
351
 
352
+ ### Bands
353
+
354
+ You can define which bands appear in the main window. Those with checkmarks will appear. Those without will not.
355
+
356
+ ![Bands Configuration Screen](https://github.com/mbridak/not1mm/raw/master/pic/configure_bands.png)
357
+
346
358
  ## Sending CW
347
359
 
348
360
  Other than sending CW by hand, you can also send predefined CW text messages by pressing F1 - F12. See next section on Editing macro keys. If you need to send something freeform, you can press CTRL-SHIFT-K, this will expose an entry field at the bottom of the window which you can type directly into. When you're done you can either press CTRL-SHIFT-K again, or press the Enter Key to close the field.
@@ -127,6 +127,7 @@ class MainWindow(QtWidgets.QMainWindow):
127
127
  "command_buttons": False,
128
128
  "cw_macros": True,
129
129
  "bands_modes": True,
130
+ "bands": ["160m", "80m", "40m", "20m", "15m", "10m"],
130
131
  "window_height": 200,
131
132
  "window_width": 600,
132
133
  "window_x": 120,
@@ -311,6 +312,12 @@ class MainWindow(QtWidgets.QMainWindow):
311
312
  self.cw_band_20.mousePressEvent = self.click_20_cw
312
313
  self.cw_band_15.mousePressEvent = self.click_15_cw
313
314
  self.cw_band_10.mousePressEvent = self.click_10_cw
315
+ self.cw_band_6.mousePressEvent = self.click_6_cw
316
+ self.cw_band_2.mousePressEvent = self.click_2_cw
317
+ self.cw_band_125.mousePressEvent = self.click_125_cw
318
+ self.cw_band_70cm.mousePressEvent = self.click_70cm_cw
319
+ self.cw_band_33cm.mousePressEvent = self.click_33cm_cw
320
+ self.cw_band_23cm.mousePressEvent = self.click_23cm_cw
314
321
 
315
322
  self.ssb_band_160.mousePressEvent = self.click_160_ssb
316
323
  self.ssb_band_80.mousePressEvent = self.click_80_ssb
@@ -318,6 +325,12 @@ class MainWindow(QtWidgets.QMainWindow):
318
325
  self.ssb_band_20.mousePressEvent = self.click_20_ssb
319
326
  self.ssb_band_15.mousePressEvent = self.click_15_ssb
320
327
  self.ssb_band_10.mousePressEvent = self.click_10_ssb
328
+ self.ssb_band_6.mousePressEvent = self.click_6_ssb
329
+ self.ssb_band_2.mousePressEvent = self.click_2_ssb
330
+ self.ssb_band_125.mousePressEvent = self.click_125_ssb
331
+ self.ssb_band_70cm.mousePressEvent = self.click_70cm_ssb
332
+ self.ssb_band_33cm.mousePressEvent = self.click_33cm_ssb
333
+ self.ssb_band_23cm.mousePressEvent = self.click_23cm_ssb
321
334
 
322
335
  self.rtty_band_160.mousePressEvent = self.click_160_rtty
323
336
  self.rtty_band_80.mousePressEvent = self.click_80_rtty
@@ -325,22 +338,12 @@ class MainWindow(QtWidgets.QMainWindow):
325
338
  self.rtty_band_20.mousePressEvent = self.click_20_rtty
326
339
  self.rtty_band_15.mousePressEvent = self.click_15_rtty
327
340
  self.rtty_band_10.mousePressEvent = self.click_10_rtty
328
-
329
- self.readpreferences()
330
- self.dbname = DATA_PATH + "/" + self.pref.get("current_database", "ham.db")
331
- self.database = DataBase(self.dbname, WORKING_PATH)
332
- self.station = self.database.fetch_station()
333
- if self.station is None:
334
- self.station = {}
335
- self.edit_station_settings()
336
- self.station = self.database.fetch_station()
337
- if self.station is None:
338
- self.station = {}
339
- self.contact = self.database.empty_contact
340
- self.current_op = self.station.get("Call", "")
341
- self.make_op_dir()
342
- self.read_cw_macros()
343
- self.clearinputs()
341
+ self.rtty_band_6.mousePressEvent = self.click_6_rtty
342
+ self.rtty_band_2.mousePressEvent = self.click_2_rtty
343
+ self.rtty_band_125.mousePressEvent = self.click_125_rtty
344
+ self.rtty_band_70cm.mousePressEvent = self.click_70cm_rtty
345
+ self.rtty_band_33cm.mousePressEvent = self.click_33cm_rtty
346
+ self.rtty_band_23cm.mousePressEvent = self.click_23cm_rtty
344
347
 
345
348
  self.band_indicators_cw = {
346
349
  "160": self.cw_band_160,
@@ -349,6 +352,12 @@ class MainWindow(QtWidgets.QMainWindow):
349
352
  "20": self.cw_band_20,
350
353
  "15": self.cw_band_15,
351
354
  "10": self.cw_band_10,
355
+ "6": self.cw_band_6,
356
+ "2": self.cw_band_2,
357
+ "1.25": self.cw_band_125,
358
+ "70cm": self.cw_band_70cm,
359
+ "33cm": self.cw_band_33cm,
360
+ "23cm": self.cw_band_23cm,
352
361
  }
353
362
 
354
363
  self.band_indicators_ssb = {
@@ -358,6 +367,12 @@ class MainWindow(QtWidgets.QMainWindow):
358
367
  "20": self.ssb_band_20,
359
368
  "15": self.ssb_band_15,
360
369
  "10": self.ssb_band_10,
370
+ "6": self.ssb_band_6,
371
+ "2": self.ssb_band_2,
372
+ "1.25": self.ssb_band_125,
373
+ "70cm": self.ssb_band_70cm,
374
+ "33cm": self.ssb_band_33cm,
375
+ "23cm": self.ssb_band_23cm,
361
376
  }
362
377
 
363
378
  self.band_indicators_rtty = {
@@ -367,6 +382,12 @@ class MainWindow(QtWidgets.QMainWindow):
367
382
  "20": self.rtty_band_20,
368
383
  "15": self.rtty_band_15,
369
384
  "10": self.rtty_band_10,
385
+ "6": self.rtty_band_6,
386
+ "2": self.rtty_band_2,
387
+ "1.25": self.rtty_band_125,
388
+ "70cm": self.rtty_band_70cm,
389
+ "33cm": self.rtty_band_33cm,
390
+ "23cm": self.rtty_band_23cm,
370
391
  }
371
392
 
372
393
  self.all_mode_indicators = {
@@ -375,6 +396,22 @@ class MainWindow(QtWidgets.QMainWindow):
375
396
  "RTTY": self.band_indicators_rtty,
376
397
  }
377
398
 
399
+ self.readpreferences()
400
+ self.dbname = DATA_PATH + "/" + self.pref.get("current_database", "ham.db")
401
+ self.database = DataBase(self.dbname, WORKING_PATH)
402
+ self.station = self.database.fetch_station()
403
+ if self.station is None:
404
+ self.station = {}
405
+ self.edit_station_settings()
406
+ self.station = self.database.fetch_station()
407
+ if self.station is None:
408
+ self.station = {}
409
+ self.contact = self.database.empty_contact
410
+ self.current_op = self.station.get("Call", "")
411
+ self.make_op_dir()
412
+ self.read_cw_macros()
413
+ self.clearinputs()
414
+
378
415
  if self.pref.get("contest"):
379
416
  self.load_contest()
380
417
 
@@ -441,6 +478,30 @@ class MainWindow(QtWidgets.QMainWindow):
441
478
  """doc"""
442
479
  self.change_to_band_and_mode(10, "CW")
443
480
 
481
+ def click_6_cw(self, _event) -> None:
482
+ """doc"""
483
+ self.change_to_band_and_mode(6, "CW")
484
+
485
+ def click_2_cw(self, _event) -> None:
486
+ """doc"""
487
+ self.change_to_band_and_mode(2, "CW")
488
+
489
+ def click_125_cw(self, _event) -> None:
490
+ """doc"""
491
+ self.change_to_band_and_mode(222, "CW")
492
+
493
+ def click_70cm_cw(self, _event) -> None:
494
+ """doc"""
495
+ self.change_to_band_and_mode(432, "CW")
496
+
497
+ def click_33cm_cw(self, _event) -> None:
498
+ """doc"""
499
+ self.change_to_band_and_mode(902, "CW")
500
+
501
+ def click_23cm_cw(self, _event) -> None:
502
+ """doc"""
503
+ self.change_to_band_and_mode(1240, "CW")
504
+
444
505
  def click_160_ssb(self, _event) -> None:
445
506
  """doc"""
446
507
  self.change_to_band_and_mode(160, "SSB")
@@ -465,6 +526,30 @@ class MainWindow(QtWidgets.QMainWindow):
465
526
  """doc"""
466
527
  self.change_to_band_and_mode(10, "SSB")
467
528
 
529
+ def click_6_ssb(self, _event) -> None:
530
+ """doc"""
531
+ self.change_to_band_and_mode(6, "SSB")
532
+
533
+ def click_2_ssb(self, _event) -> None:
534
+ """doc"""
535
+ self.change_to_band_and_mode(2, "SSB")
536
+
537
+ def click_125_ssb(self, _event) -> None:
538
+ """doc"""
539
+ self.change_to_band_and_mode(222, "SSB")
540
+
541
+ def click_70cm_ssb(self, _event) -> None:
542
+ """doc"""
543
+ self.change_to_band_and_mode(432, "SSB")
544
+
545
+ def click_33cm_ssb(self, _event) -> None:
546
+ """doc"""
547
+ self.change_to_band_and_mode(902, "SSB")
548
+
549
+ def click_23cm_ssb(self, _event) -> None:
550
+ """doc"""
551
+ self.change_to_band_and_mode(1240, "SSB")
552
+
468
553
  def click_160_rtty(self, _event) -> None:
469
554
  """doc"""
470
555
  self.change_to_band_and_mode(160, "RTTY")
@@ -489,6 +574,30 @@ class MainWindow(QtWidgets.QMainWindow):
489
574
  """doc"""
490
575
  self.change_to_band_and_mode(10, "RTTY")
491
576
 
577
+ def click_6_rtty(self, _event) -> None:
578
+ """doc"""
579
+ self.change_to_band_and_mode(6, "RTTY")
580
+
581
+ def click_2_rtty(self, _event) -> None:
582
+ """doc"""
583
+ self.change_to_band_and_mode(2, "RTTY")
584
+
585
+ def click_125_rtty(self, _event) -> None:
586
+ """doc"""
587
+ self.change_to_band_and_mode(222, "RTTY")
588
+
589
+ def click_70cm_rtty(self, _event) -> None:
590
+ """doc"""
591
+ self.change_to_band_and_mode(432, "RTTY")
592
+
593
+ def click_33cm_rtty(self, _event) -> None:
594
+ """doc"""
595
+ self.change_to_band_and_mode(902, "RTTY")
596
+
597
+ def click_23cm_rtty(self, _event) -> None:
598
+ """doc"""
599
+ self.change_to_band_and_mode(1240, "RTTY")
600
+
492
601
  def change_to_band_and_mode(self, band, mode) -> None:
493
602
  """doc"""
494
603
  if mode in ["CW", "SSB", "RTTY"]:
@@ -1932,6 +2041,22 @@ class MainWindow(QtWidgets.QMainWindow):
1932
2041
 
1933
2042
  self.show_command_buttons()
1934
2043
  self.show_CW_macros()
2044
+
2045
+ # If bands list is empty fill it with HF.
2046
+ if self.pref.get("bands", []) == []:
2047
+ self.pref["bands"] = ["160", "80", "40", "20", "15", "10"]
2048
+
2049
+ # Hide all the bands and then show only the wanted bands.
2050
+ for _indicator in [
2051
+ self.band_indicators_cw,
2052
+ self.band_indicators_ssb,
2053
+ self.band_indicators_rtty,
2054
+ ]:
2055
+ for _bandind in _indicator.values():
2056
+ _bandind.hide()
2057
+ for band_to_show in self.pref.get("bands", []):
2058
+ if band_to_show in _indicator:
2059
+ _indicator[band_to_show].show()
1935
2060
  # self.show_band_mode()
1936
2061
 
1937
2062
  def watch_udp(self) -> None:
@@ -6,7 +6,7 @@
6
6
  <rect>
7
7
  <x>0</x>
8
8
  <y>0</y>
9
- <width>636</width>
9
+ <width>703</width>
10
10
  <height>395</height>
11
11
  </rect>
12
12
  </property>
@@ -1494,6 +1494,97 @@
1494
1494
  </item>
1495
1495
  </layout>
1496
1496
  </widget>
1497
+ <widget class="QWidget" name="bands_tab">
1498
+ <attribute name="title">
1499
+ <string>Bands</string>
1500
+ </attribute>
1501
+ <layout class="QGridLayout" name="gridLayout_9">
1502
+ <item row="1" column="1">
1503
+ <widget class="QCheckBox" name="activate_2m">
1504
+ <property name="text">
1505
+ <string>2M</string>
1506
+ </property>
1507
+ </widget>
1508
+ </item>
1509
+ <item row="2" column="1">
1510
+ <widget class="QCheckBox" name="activate_1dot25">
1511
+ <property name="text">
1512
+ <string>1.25M</string>
1513
+ </property>
1514
+ </widget>
1515
+ </item>
1516
+ <item row="2" column="0">
1517
+ <widget class="QCheckBox" name="activate_40m">
1518
+ <property name="text">
1519
+ <string>40M</string>
1520
+ </property>
1521
+ </widget>
1522
+ </item>
1523
+ <item row="1" column="0">
1524
+ <widget class="QCheckBox" name="activate_80m">
1525
+ <property name="text">
1526
+ <string>80M</string>
1527
+ </property>
1528
+ </widget>
1529
+ </item>
1530
+ <item row="0" column="0">
1531
+ <widget class="QCheckBox" name="activate_160m">
1532
+ <property name="text">
1533
+ <string>160M</string>
1534
+ </property>
1535
+ </widget>
1536
+ </item>
1537
+ <item row="0" column="1">
1538
+ <widget class="QCheckBox" name="activate_6m">
1539
+ <property name="text">
1540
+ <string>6M</string>
1541
+ </property>
1542
+ </widget>
1543
+ </item>
1544
+ <item row="3" column="0">
1545
+ <widget class="QCheckBox" name="activate_20m">
1546
+ <property name="text">
1547
+ <string>20M</string>
1548
+ </property>
1549
+ </widget>
1550
+ </item>
1551
+ <item row="4" column="0">
1552
+ <widget class="QCheckBox" name="activate_15m">
1553
+ <property name="text">
1554
+ <string>15M</string>
1555
+ </property>
1556
+ </widget>
1557
+ </item>
1558
+ <item row="5" column="0">
1559
+ <widget class="QCheckBox" name="activate_10m">
1560
+ <property name="text">
1561
+ <string>10M</string>
1562
+ </property>
1563
+ </widget>
1564
+ </item>
1565
+ <item row="3" column="1">
1566
+ <widget class="QCheckBox" name="activate_70cm">
1567
+ <property name="text">
1568
+ <string>70cm</string>
1569
+ </property>
1570
+ </widget>
1571
+ </item>
1572
+ <item row="4" column="1">
1573
+ <widget class="QCheckBox" name="activate_33cm">
1574
+ <property name="text">
1575
+ <string>33cm</string>
1576
+ </property>
1577
+ </widget>
1578
+ </item>
1579
+ <item row="5" column="1">
1580
+ <widget class="QCheckBox" name="activate_23cm">
1581
+ <property name="text">
1582
+ <string>23cm</string>
1583
+ </property>
1584
+ </widget>
1585
+ </item>
1586
+ </layout>
1587
+ </widget>
1497
1588
  </widget>
1498
1589
  </item>
1499
1590
  </layout>
@@ -1581,7 +1672,7 @@
1581
1672
  </property>
1582
1673
  </designerdata>
1583
1674
  <buttongroups>
1584
- <buttongroup name="buttonGroup_2"/>
1585
1675
  <buttongroup name="buttonGroup"/>
1676
+ <buttongroup name="buttonGroup_2"/>
1586
1677
  </buttongroups>
1587
1678
  </ui>
@@ -149,6 +149,66 @@
149
149
  </property>
150
150
  </widget>
151
151
  </item>
152
+ <item>
153
+ <widget class="QLabel" name="cw_band_6">
154
+ <property name="text">
155
+ <string>6</string>
156
+ </property>
157
+ <property name="alignment">
158
+ <set>Qt::AlignCenter</set>
159
+ </property>
160
+ </widget>
161
+ </item>
162
+ <item>
163
+ <widget class="QLabel" name="cw_band_2">
164
+ <property name="text">
165
+ <string>2</string>
166
+ </property>
167
+ <property name="alignment">
168
+ <set>Qt::AlignCenter</set>
169
+ </property>
170
+ </widget>
171
+ </item>
172
+ <item>
173
+ <widget class="QLabel" name="cw_band_125">
174
+ <property name="text">
175
+ <string>1.25</string>
176
+ </property>
177
+ <property name="alignment">
178
+ <set>Qt::AlignCenter</set>
179
+ </property>
180
+ </widget>
181
+ </item>
182
+ <item>
183
+ <widget class="QLabel" name="cw_band_70cm">
184
+ <property name="text">
185
+ <string>70cm</string>
186
+ </property>
187
+ <property name="alignment">
188
+ <set>Qt::AlignCenter</set>
189
+ </property>
190
+ </widget>
191
+ </item>
192
+ <item>
193
+ <widget class="QLabel" name="cw_band_33cm">
194
+ <property name="text">
195
+ <string>33cm</string>
196
+ </property>
197
+ <property name="alignment">
198
+ <set>Qt::AlignCenter</set>
199
+ </property>
200
+ </widget>
201
+ </item>
202
+ <item>
203
+ <widget class="QLabel" name="cw_band_23cm">
204
+ <property name="text">
205
+ <string>23cm</string>
206
+ </property>
207
+ <property name="alignment">
208
+ <set>Qt::AlignCenter</set>
209
+ </property>
210
+ </widget>
211
+ </item>
152
212
  <item>
153
213
  <spacer name="verticalSpacer">
154
214
  <property name="orientation">
@@ -169,7 +229,7 @@
169
229
  <widget class="QFrame" name="Band_Mode_Frame_SSB">
170
230
  <property name="minimumSize">
171
231
  <size>
172
- <width>35</width>
232
+ <width>40</width>
173
233
  <height>0</height>
174
234
  </size>
175
235
  </property>
@@ -262,6 +322,66 @@
262
322
  </property>
263
323
  </widget>
264
324
  </item>
325
+ <item>
326
+ <widget class="QLabel" name="ssb_band_6">
327
+ <property name="text">
328
+ <string>6</string>
329
+ </property>
330
+ <property name="alignment">
331
+ <set>Qt::AlignCenter</set>
332
+ </property>
333
+ </widget>
334
+ </item>
335
+ <item>
336
+ <widget class="QLabel" name="ssb_band_2">
337
+ <property name="text">
338
+ <string>2</string>
339
+ </property>
340
+ <property name="alignment">
341
+ <set>Qt::AlignCenter</set>
342
+ </property>
343
+ </widget>
344
+ </item>
345
+ <item>
346
+ <widget class="QLabel" name="ssb_band_125">
347
+ <property name="text">
348
+ <string>1.25</string>
349
+ </property>
350
+ <property name="alignment">
351
+ <set>Qt::AlignCenter</set>
352
+ </property>
353
+ </widget>
354
+ </item>
355
+ <item>
356
+ <widget class="QLabel" name="ssb_band_70cm">
357
+ <property name="text">
358
+ <string>70cm</string>
359
+ </property>
360
+ <property name="alignment">
361
+ <set>Qt::AlignCenter</set>
362
+ </property>
363
+ </widget>
364
+ </item>
365
+ <item>
366
+ <widget class="QLabel" name="ssb_band_33cm">
367
+ <property name="text">
368
+ <string>33cm</string>
369
+ </property>
370
+ <property name="alignment">
371
+ <set>Qt::AlignCenter</set>
372
+ </property>
373
+ </widget>
374
+ </item>
375
+ <item>
376
+ <widget class="QLabel" name="ssb_band_23cm">
377
+ <property name="text">
378
+ <string>23cm</string>
379
+ </property>
380
+ <property name="alignment">
381
+ <set>Qt::AlignCenter</set>
382
+ </property>
383
+ </widget>
384
+ </item>
265
385
  <item>
266
386
  <spacer name="verticalSpacer_2">
267
387
  <property name="orientation">
@@ -282,7 +402,7 @@
282
402
  <widget class="QFrame" name="Band_Mode_Frame_RTTY">
283
403
  <property name="minimumSize">
284
404
  <size>
285
- <width>33</width>
405
+ <width>40</width>
286
406
  <height>0</height>
287
407
  </size>
288
408
  </property>
@@ -375,6 +495,69 @@
375
495
  </property>
376
496
  </widget>
377
497
  </item>
498
+ <item>
499
+ <widget class="QLabel" name="rtty_band_6">
500
+ <property name="text">
501
+ <string>6</string>
502
+ </property>
503
+ <property name="alignment">
504
+ <set>Qt::AlignCenter</set>
505
+ </property>
506
+ </widget>
507
+ </item>
508
+ <item>
509
+ <widget class="QLabel" name="rtty_band_2">
510
+ <property name="text">
511
+ <string>2</string>
512
+ </property>
513
+ <property name="alignment">
514
+ <set>Qt::AlignCenter</set>
515
+ </property>
516
+ </widget>
517
+ </item>
518
+ <item>
519
+ <widget class="QLabel" name="rtty_band_125">
520
+ <property name="text">
521
+ <string>1.25</string>
522
+ </property>
523
+ <property name="alignment">
524
+ <set>Qt::AlignCenter</set>
525
+ </property>
526
+ </widget>
527
+ </item>
528
+ <item>
529
+ <widget class="QLabel" name="rtty_band_70cm">
530
+ <property name="text">
531
+ <string>70cm</string>
532
+ </property>
533
+ <property name="alignment">
534
+ <set>Qt::AlignCenter</set>
535
+ </property>
536
+ </widget>
537
+ </item>
538
+ <item>
539
+ <widget class="QLabel" name="rtty_band_33cm">
540
+ <property name="text">
541
+ <string>33cm</string>
542
+ </property>
543
+ <property name="alignment">
544
+ <set>Qt::AlignCenter</set>
545
+ </property>
546
+ </widget>
547
+ </item>
548
+ <item>
549
+ <widget class="QLabel" name="rtty_band_23cm">
550
+ <property name="enabled">
551
+ <bool>true</bool>
552
+ </property>
553
+ <property name="text">
554
+ <string>23cm</string>
555
+ </property>
556
+ <property name="alignment">
557
+ <set>Qt::AlignCenter</set>
558
+ </property>
559
+ </widget>
560
+ </item>
378
561
  <item>
379
562
  <spacer name="verticalSpacer_3">
380
563
  <property name="orientation">
@@ -636,7 +819,7 @@
636
819
  <item>
637
820
  <widget class="QSpinBox" name="cw_speed">
638
821
  <property name="sizePolicy">
639
- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
822
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
640
823
  <horstretch>0</horstretch>
641
824
  <verstretch>0</verstretch>
642
825
  </sizepolicy>