not1mm 23.5.7__tar.gz → 23.5.8__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 (128) hide show
  1. {not1mm-23.5.7 → not1mm-23.5.8}/PKG-INFO +6 -14
  2. {not1mm-23.5.7 → not1mm-23.5.8}/README.md +5 -13
  3. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/__main__.py +9 -0
  4. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/bandmap.py +35 -5
  5. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/main.ui +12 -5
  6. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/version.py +1 -1
  7. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/logwindow.py +9 -0
  8. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/cq_wpx_cw.py +2 -4
  9. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm.egg-info/PKG-INFO +6 -14
  10. {not1mm-23.5.7 → not1mm-23.5.8}/pyproject.toml +1 -1
  11. {not1mm-23.5.7 → not1mm-23.5.8}/LICENSE +0 -0
  12. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/__init__.py +0 -0
  13. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/Combinear.qss +0 -0
  14. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/JetBrainsMono-Regular.ttf +0 -0
  15. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/MASTER.SCP +0 -0
  16. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/about.ui +0 -0
  17. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/alpha bravo charlie delta.txt +0 -0
  18. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/bandmap.ui +0 -0
  19. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/check.png +0 -0
  20. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/configuration.ui +0 -0
  21. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/contests.sql +0 -0
  22. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/cty.json +0 -0
  23. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/cwmacros.txt +0 -0
  24. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/editcontact.ui +0 -0
  25. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/editmacro.ui +0 -0
  26. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/greendot.png +0 -0
  27. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/k6gte-not1mm.desktop +0 -0
  28. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/k6gte.not1mm-128.png +0 -0
  29. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/k6gte.not1mm-32.png +0 -0
  30. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/k6gte.not1mm-64.png +0 -0
  31. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/logwindow.ui +0 -0
  32. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/new_contest.ui +0 -0
  33. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/opon.ui +0 -0
  34. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/0.wav +0 -0
  35. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/1.wav +0 -0
  36. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/2.wav +0 -0
  37. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/3.wav +0 -0
  38. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/4.wav +0 -0
  39. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/5.wav +0 -0
  40. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/6.wav +0 -0
  41. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/7.wav +0 -0
  42. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/73.wav +0 -0
  43. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/8.wav +0 -0
  44. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/9.wav +0 -0
  45. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/a.wav +0 -0
  46. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/again.wav +0 -0
  47. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/b.wav +0 -0
  48. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/c.wav +0 -0
  49. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/contest.wav +0 -0
  50. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/cq.wav +0 -0
  51. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/d.wav +0 -0
  52. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/e.wav +0 -0
  53. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/f.wav +0 -0
  54. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/g.wav +0 -0
  55. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/h.wav +0 -0
  56. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/i.wav +0 -0
  57. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/j.wav +0 -0
  58. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/k.wav +0 -0
  59. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/k6gte.wav +0 -0
  60. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/l.wav +0 -0
  61. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/m.wav +0 -0
  62. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/mynumber.wav +0 -0
  63. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/n.wav +0 -0
  64. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/nil.wav +0 -0
  65. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/o.wav +0 -0
  66. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/p.wav +0 -0
  67. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/q.wav +0 -0
  68. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/r.wav +0 -0
  69. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/roger.wav +0 -0
  70. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/s.wav +0 -0
  71. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/space.wav +0 -0
  72. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/t.wav +0 -0
  73. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/thankyou.wav +0 -0
  74. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
  75. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/u.wav +0 -0
  76. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/v.wav +0 -0
  77. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/w.wav +0 -0
  78. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/x.wav +0 -0
  79. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/y.wav +0 -0
  80. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/yourcall.wav +0 -0
  81. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/z.wav +0 -0
  82. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/pickcontest.ui +0 -0
  83. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/reddot.png +0 -0
  84. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/settings.ui +0 -0
  85. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/ssbmacros.txt +0 -0
  86. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/__init__.py +0 -0
  87. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/about.py +0 -0
  88. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/cat_interface.py +0 -0
  89. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/cwinterface.py +0 -0
  90. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/database.py +0 -0
  91. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/edit_contact.py +0 -0
  92. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/edit_macro.py +0 -0
  93. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/edit_opon.py +0 -0
  94. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/edit_station.py +0 -0
  95. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/ham_utility.py +0 -0
  96. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/lookup.py +0 -0
  97. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/multicast.py +0 -0
  98. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/n1mm.py +0 -0
  99. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/new_contest.py +0 -0
  100. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/select_contest.py +0 -0
  101. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/settings.py +0 -0
  102. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/10_10_fall_cw.py +0 -0
  103. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/10_10_spring_cw.py +0 -0
  104. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/10_10_summer_phone.py +0 -0
  105. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/10_10_winter_phone.py +0 -0
  106. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/__init__.py +0 -0
  107. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/arrl_dx_cw.py +0 -0
  108. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/arrl_dx_ssb.py +0 -0
  109. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/arrl_field_day.py +0 -0
  110. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/arrl_rtty_ru.py +0 -0
  111. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/arrl_ss_cw.py +0 -0
  112. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/arrl_ss_phone.py +0 -0
  113. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/cq_wpx_ssb.py +0 -0
  114. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/cq_ww_cw.py +0 -0
  115. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/cq_ww_ssb.py +0 -0
  116. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/cwt.py +0 -0
  117. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/general_logging.py +0 -0
  118. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/jidx_cw.py +0 -0
  119. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/jidx_ph.py +0 -0
  120. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/winter_field_day.py +0 -0
  121. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/testing/test.py +0 -0
  122. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm.egg-info/SOURCES.txt +0 -0
  123. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm.egg-info/dependency_links.txt +0 -0
  124. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm.egg-info/entry_points.txt +0 -0
  125. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm.egg-info/requires.txt +0 -0
  126. {not1mm-23.5.7 → not1mm-23.5.8}/not1mm.egg-info/top_level.txt +0 -0
  127. {not1mm-23.5.7 → not1mm-23.5.8}/setup.cfg +0 -0
  128. {not1mm-23.5.7 → not1mm-23.5.8}/testing/test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 23.5.7
3
+ Version: 23.5.8
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
@@ -28,8 +28,7 @@ License-File: LICENSE
28
28
 
29
29
  - [Not1MM](#not1mm)
30
30
  - [What and why is Not1MM](#what-and-why-is-not1mm)
31
- - [What it is not](#what-it-is-not)
32
- - [What it probably never will be](#what-it-probably-never-will-be)
31
+ - [Current state](#current-state)
33
32
  - [List of should be working contests](#list-of-should-be-working-contests)
34
33
  - [Changes of note](#changes-of-note)
35
34
  - [Installing from PyPi](#installing-from-pypi)
@@ -90,15 +89,9 @@ I personally don't. While it may be possible to get N1MM working under Wine, I h
90
89
  Something to do in my free time.
91
90
  While I'm not watching TV, Right vs Left political 'News' programs, mind numbing 'Reality' TV etc...
92
91
 
93
- ## What it is not
92
+ ## Current state
94
93
 
95
- Fully working.
96
-
97
- The current state is "**BETA**". I've used it for CQ WPX SSB and JIDX CW, and was able to work contacts and submit a cabrillo at the end. I'll add contests as/if I work them.
98
-
99
- ## What it probably never will be
100
-
101
- Feature complete. I'm only one guy, and I'm not what you'd consider to be a contester. So new contests will be sparse.
94
+ The current state is "**BETA**". I've used it for A few contests, and was able to work contacts and submit a cabrillo at the end. I'm not a "Contester". So I'll add contests as/if I work them. I'm only one guy, so if you see a bug let me know. I don't do much of any Data or RTTY operating. This is why you don't see RTTY in the list of working contests. The Lord helps those who burn people at the... I mean who help themselves. Feel free to fill in that hole with a pull request.
102
95
 
103
96
  ![main screen](https://github.com/mbridak/not1mm/raw/master/pic/main.png)
104
97
 
@@ -123,6 +116,7 @@ Feature complete. I'm only one guy, and I'm not what you'd consider to be a cont
123
116
 
124
117
  ## Changes of note
125
118
 
119
+ - [23-5-8] Bandmap zoom in/out now centers scale to RX Freq.
126
120
  - [23-5-7] Added bandwidth marker to the bandmap.
127
121
  - [23-5-6] Added AR Cluster filter options for the bandmap. Added a station ID to the multicast packets. This will prevent erratic bevahiour if 2 stations are on the same network.
128
122
  - [23-5-5] Re-wrote most of the log window code. Added ARRL Sweepstakes.
@@ -163,7 +157,7 @@ Feature complete. I'm only one guy, and I'm not what you'd consider to be a cont
163
157
  - [23-3-27] Fix cursor behaviour when editing text in callsign field.
164
158
  - [23-3-25] Fix minimum call length. Fix cabrillo tag. Add adif output.
165
159
  - [23-3-24] Added dupe checking. Added CAT check for flrig or rigctld. Added online flag for flrig.
166
- - [23-3-23] Added json_data.get("cmd", "")most of Cabrillo generation. Plan to test it this weekends CQ WPX SSB.
160
+ - [23-3-23] Added most of Cabrillo generation. Plan to test it this weekends CQ WPX SSB.
167
161
  - [23-3-22] Add prefill of serial nr. set OP call on startup. Set IsMultiplier1 new unique wpx. Add OP and contest name to window title. and stuff.
168
162
  - [23-3-21] Worked on CQ WPX SSB plugin.
169
163
  - [23-3-20] Added a contact edit dialog. RightClick to edit contact. Changed placeholder text color in settings dialog. Hooked up CW speedchange widget. PgUp/PgDn to change speed.
@@ -252,8 +246,6 @@ not1mm
252
246
 
253
247
  ## Various data file locations
254
248
 
255
- json_data.get("cmd", "")
256
-
257
249
  ### Data
258
250
 
259
251
  If your system has an `XDG_DATA_HOME` environment variable set, the database and CW macro files can be found there. Otherwise they will be found at `yourhome/.local/share/not1mm`
@@ -9,8 +9,7 @@
9
9
 
10
10
  - [Not1MM](#not1mm)
11
11
  - [What and why is Not1MM](#what-and-why-is-not1mm)
12
- - [What it is not](#what-it-is-not)
13
- - [What it probably never will be](#what-it-probably-never-will-be)
12
+ - [Current state](#current-state)
14
13
  - [List of should be working contests](#list-of-should-be-working-contests)
15
14
  - [Changes of note](#changes-of-note)
16
15
  - [Installing from PyPi](#installing-from-pypi)
@@ -71,15 +70,9 @@ I personally don't. While it may be possible to get N1MM working under Wine, I h
71
70
  Something to do in my free time.
72
71
  While I'm not watching TV, Right vs Left political 'News' programs, mind numbing 'Reality' TV etc...
73
72
 
74
- ## What it is not
73
+ ## Current state
75
74
 
76
- Fully working.
77
-
78
- The current state is "**BETA**". I've used it for CQ WPX SSB and JIDX CW, and was able to work contacts and submit a cabrillo at the end. I'll add contests as/if I work them.
79
-
80
- ## What it probably never will be
81
-
82
- Feature complete. I'm only one guy, and I'm not what you'd consider to be a contester. So new contests will be sparse.
75
+ The current state is "**BETA**". I've used it for A few contests, and was able to work contacts and submit a cabrillo at the end. I'm not a "Contester". So I'll add contests as/if I work them. I'm only one guy, so if you see a bug let me know. I don't do much of any Data or RTTY operating. This is why you don't see RTTY in the list of working contests. The Lord helps those who burn people at the... I mean who help themselves. Feel free to fill in that hole with a pull request.
83
76
 
84
77
  ![main screen](https://github.com/mbridak/not1mm/raw/master/pic/main.png)
85
78
 
@@ -104,6 +97,7 @@ Feature complete. I'm only one guy, and I'm not what you'd consider to be a cont
104
97
 
105
98
  ## Changes of note
106
99
 
100
+ - [23-5-8] Bandmap zoom in/out now centers scale to RX Freq.
107
101
  - [23-5-7] Added bandwidth marker to the bandmap.
108
102
  - [23-5-6] Added AR Cluster filter options for the bandmap. Added a station ID to the multicast packets. This will prevent erratic bevahiour if 2 stations are on the same network.
109
103
  - [23-5-5] Re-wrote most of the log window code. Added ARRL Sweepstakes.
@@ -144,7 +138,7 @@ Feature complete. I'm only one guy, and I'm not what you'd consider to be a cont
144
138
  - [23-3-27] Fix cursor behaviour when editing text in callsign field.
145
139
  - [23-3-25] Fix minimum call length. Fix cabrillo tag. Add adif output.
146
140
  - [23-3-24] Added dupe checking. Added CAT check for flrig or rigctld. Added online flag for flrig.
147
- - [23-3-23] Added json_data.get("cmd", "")most of Cabrillo generation. Plan to test it this weekends CQ WPX SSB.
141
+ - [23-3-23] Added most of Cabrillo generation. Plan to test it this weekends CQ WPX SSB.
148
142
  - [23-3-22] Add prefill of serial nr. set OP call on startup. Set IsMultiplier1 new unique wpx. Add OP and contest name to window title. and stuff.
149
143
  - [23-3-21] Worked on CQ WPX SSB plugin.
150
144
  - [23-3-20] Added a contact edit dialog. RightClick to edit contact. Changed placeholder text color in settings dialog. Hooked up CW speedchange widget. PgUp/PgDn to change speed.
@@ -233,8 +227,6 @@ not1mm
233
227
 
234
228
  ## Various data file locations
235
229
 
236
- json_data.get("cmd", "")
237
-
238
230
  ### Data
239
231
 
240
232
  If your system has an `XDG_DATA_HOME` environment variable set, the database and CW macro files can be found there. Otherwise they will be found at `yourhome/.local/share/not1mm`
@@ -379,6 +379,8 @@ class MainWindow(QtWidgets.QMainWindow):
379
379
  def edit_configuration_settings(self):
380
380
  """Configuration Settings was clicked"""
381
381
  self.configuration_dialog = Settings(WORKING_PATH, CONFIG_PATH, self.pref)
382
+ if self.pref.get("dark_mode"):
383
+ self.configuration_dialog.setStyleSheet(DARK_STYLESHEET)
382
384
  self.configuration_dialog.usehamdb_radioButton.hide()
383
385
  # self.configuration_dialog.n1mm_tab.hide()
384
386
  self.configuration_dialog.show()
@@ -447,6 +449,8 @@ class MainWindow(QtWidgets.QMainWindow):
447
449
 
448
450
  if contests:
449
451
  self.contest_dialog = SelectContest(WORKING_PATH)
452
+ if self.pref.get("dark_mode"):
453
+ self.contest_dialog.setStyleSheet(DARK_STYLESHEET)
450
454
  self.contest_dialog.contest_list.setRowCount(0)
451
455
  self.contest_dialog.contest_list.setColumnCount(4)
452
456
  self.contest_dialog.contest_list.verticalHeader().setVisible(False)
@@ -504,6 +508,8 @@ class MainWindow(QtWidgets.QMainWindow):
504
508
  if self.contest_settings is None:
505
509
  return
506
510
  self.contest_dialog = NewContest(WORKING_PATH)
511
+ if self.pref.get("dark_mode"):
512
+ self.contest_dialog.setStyleSheet(DARK_STYLESHEET)
507
513
  self.contest_dialog.setWindowTitle("Edit Contest")
508
514
  self.contest_dialog.title.setText("")
509
515
  self.contest_dialog.accepted.connect(self.save_edited_contest)
@@ -615,6 +621,7 @@ class MainWindow(QtWidgets.QMainWindow):
615
621
  "RTTY": (self.Band_Mode_Frame_RTTY,),
616
622
  "PSK": (self.Band_Mode_Frame_RTTY,),
617
623
  "SSB+CW": (self.Band_Mode_Frame_CW, self.Band_Mode_Frame_SSB),
624
+ "BOTH": (self.Band_Mode_Frame_CW, self.Band_Mode_Frame_SSB),
618
625
  "DIGITAL": (self.Band_Mode_Frame_RTTY,),
619
626
  "SSB+CW+DIGITAL": (
620
627
  self.Band_Mode_Frame_RTTY,
@@ -1003,6 +1010,8 @@ class MainWindow(QtWidgets.QMainWindow):
1003
1010
  """Show settings dialog"""
1004
1011
  logger.debug("Station Settings selected")
1005
1012
  self.settings_dialog = EditStation(WORKING_PATH)
1013
+ if self.pref.get("dark_mode"):
1014
+ self.settings_dialog.setStyleSheet(DARK_STYLESHEET)
1006
1015
  self.settings_dialog.accepted.connect(self.save_settings)
1007
1016
  # if self.pref.get("dark_mode"):
1008
1017
  # self.settings_dialog.setStyleSheet(DARK_STYLESHEET)
@@ -44,6 +44,11 @@ else:
44
44
  CONFIG_PATH = str(Path.home() / ".config")
45
45
  CONFIG_PATH += "/not1mm"
46
46
 
47
+ DARK_STYLESHEET = ""
48
+
49
+ with open(WORKING_PATH + "/data/Combinear.qss", encoding="utf-8") as stylefile:
50
+ DARK_STYLESHEET = stylefile.read()
51
+
47
52
  MULTICAST_PORT = 2239
48
53
  MULTICAST_GROUP = "224.1.1.1"
49
54
  INTERFACE_IP = "0.0.0.0"
@@ -202,6 +207,8 @@ class MainWindow(QtWidgets.QMainWindow):
202
207
  self._udpwatch = None
203
208
  data_path = WORKING_PATH + "/data/bandmap.ui"
204
209
  uic.loadUi(data_path, self)
210
+ if PREF.get("dark_mode"):
211
+ self.setStyleSheet(DARK_STYLESHEET)
205
212
  self.agetime = self.clear_spot_olderSpinBox.value()
206
213
  self.clear_spot_olderSpinBox.valueChanged.connect(self.spot_aging_changed)
207
214
  self.clearButton.clicked.connect(self.clear_spots)
@@ -308,7 +315,7 @@ class MainWindow(QtWidgets.QMainWindow):
308
315
  steps = int(round((self.currentBand.end - self.currentBand.start) / step))
309
316
  self.graphicsView.setFixedSize(330, steps * PIXELSPERSTEP + 30)
310
317
  self.graphicsView.setScene(self.bandmap_scene)
311
- for i in range(steps):
318
+ for i in range(steps): # Draw tickmarks
312
319
  length = 10
313
320
  if i % 5 == 0:
314
321
  length = 15
@@ -319,7 +326,7 @@ class MainWindow(QtWidgets.QMainWindow):
319
326
  i * PIXELSPERSTEP,
320
327
  QtGui.QPen(QtGui.QColor(192, 192, 192)),
321
328
  )
322
- if i % 5 == 0:
329
+ if i % 5 == 0: # Add Frequency
323
330
  freq = self.currentBand.start + step * i
324
331
  text = f"{freq:.3f}"
325
332
  self.something = self.bandmap_scene.addText(text)
@@ -342,12 +349,14 @@ class MainWindow(QtWidgets.QMainWindow):
342
349
  self.zoom += 1
343
350
  self.zoom = min(self.zoom, 7)
344
351
  self.update()
352
+ self.center_on_rxfreq()
345
353
 
346
354
  def dec_zoom(self):
347
355
  """doc"""
348
356
  self.zoom -= 1
349
357
  self.zoom = max(self.zoom, 1)
350
358
  self.update()
359
+ self.center_on_rxfreq()
351
360
 
352
361
  def drawTXRXMarks(self, step):
353
362
  """doc"""
@@ -355,10 +364,10 @@ class MainWindow(QtWidgets.QMainWindow):
355
364
  self.clear_freq_mark(self.bandwidth_mark)
356
365
  self.clear_freq_mark(self.rxMark)
357
366
  self.draw_bandwidth(
358
- self.rx_freq, step, QtGui.QColor(30, 30, 180), self.bandwidth_mark
367
+ self.rx_freq, step, QtGui.QColor(30, 30, 180, 180), self.bandwidth_mark
359
368
  )
360
369
  self.drawfreqmark(
361
- self.rx_freq, step, QtGui.QColor(30, 180, 30), self.rxMark
370
+ self.rx_freq, step, QtGui.QColor(30, 180, 30, 180), self.rxMark
362
371
  )
363
372
 
364
373
  def Freq2ScenePos(self, freq: float):
@@ -371,6 +380,21 @@ class MainWindow(QtWidgets.QMainWindow):
371
380
  )
372
381
  return ret
373
382
 
383
+ def center_on_rxfreq(self):
384
+ """doc"""
385
+ freq_pos = self.Freq2ScenePos(self.rx_freq).y()
386
+ self.scrollArea.verticalScrollBar().setValue(
387
+ int(freq_pos - (self.height() / 2) + 80)
388
+ )
389
+ # This does not work... Have no idea why.
390
+ # anim = QtCore.QPropertyAnimation(
391
+ # self.scrollArea.verticalScrollBar(), "value".encode()
392
+ # )
393
+ # anim.setDuration(300)
394
+ # anim.setStartValue(self.scrollArea.verticalScrollBar().value())
395
+ # anim.setEndValue(int(freq_pos - (self.height() / 2) + 80))
396
+ # anim.start(QtCore.QAbstractAnimation.DeletionPolicy.DeleteWhenStopped)
397
+
374
398
  def drawfreqmark(self, freq, step, color, currentPolygon):
375
399
  """doc"""
376
400
 
@@ -397,7 +421,7 @@ class MainWindow(QtWidgets.QMainWindow):
397
421
  if freq < self.currentBand.start or freq > self.currentBand.end:
398
422
  return
399
423
  if freq and self.bandwidth:
400
- color = QtGui.QColor(30, 30, 180)
424
+ # color = QtGui.QColor(30, 30, 180)
401
425
  bw_start = freq - ((self.bandwidth / 2) / 1000000)
402
426
  bw_end = freq + ((self.bandwidth / 2) / 1000000)
403
427
  logger.debug("%s", f"s:{bw_start} e:{bw_end}")
@@ -523,6 +547,12 @@ class MainWindow(QtWidgets.QMainWindow):
523
547
  self.send_command("set dx extension Name CTY State Section")
524
548
  self.send_command("set dx mode " + PREF.get("cluster_mode", "OPEN"))
525
549
  return
550
+ if "call:" in data:
551
+ self.send_command(self.callsignField.text())
552
+ self.send_command(PREF.get("cluster_filter", ""))
553
+ self.send_command("set dx extension Name CTY State Section")
554
+ self.send_command("set dx mode " + PREF.get("cluster_mode", "OPEN"))
555
+ return
526
556
  if "DX de" in data:
527
557
  parts = data.split()
528
558
  spotter = parts[2]
@@ -6,8 +6,8 @@
6
6
  <rect>
7
7
  <x>0</x>
8
8
  <y>0</y>
9
- <width>1975</width>
10
- <height>366</height>
9
+ <width>1731</width>
10
+ <height>358</height>
11
11
  </rect>
12
12
  </property>
13
13
  <property name="sizePolicy">
@@ -645,7 +645,6 @@
645
645
  <font>
646
646
  <family>JetBrains Mono</family>
647
647
  <pointsize>20</pointsize>
648
- <weight>75</weight>
649
648
  <bold>true</bold>
650
649
  </font>
651
650
  </property>
@@ -1019,11 +1018,19 @@
1019
1018
  <rect>
1020
1019
  <x>0</x>
1021
1020
  <y>0</y>
1022
- <width>1975</width>
1023
- <height>23</height>
1021
+ <width>1731</width>
1022
+ <height>30</height>
1024
1023
  </rect>
1025
1024
  </property>
1025
+ <property name="nativeMenuBar">
1026
+ <bool>true</bool>
1027
+ </property>
1026
1028
  <widget class="QMenu" name="menuFile">
1029
+ <property name="font">
1030
+ <font>
1031
+ <family>JetBrains Mono</family>
1032
+ </font>
1033
+ </property>
1027
1034
  <property name="title">
1028
1035
  <string>File</string>
1029
1036
  </property>
@@ -1,2 +1,2 @@
1
1
  """It's the version"""
2
- __version__ = "23.5.7"
2
+ __version__ = "23.5.8"
@@ -45,6 +45,11 @@ else:
45
45
  CONFIG_PATH = str(Path.home() / ".config")
46
46
  CONFIG_PATH += "/not1mm"
47
47
 
48
+ DARK_STYLESHEET = ""
49
+
50
+ with open(WORKING_PATH + "/data/Combinear.qss", encoding="utf-8") as stylefile:
51
+ DARK_STYLESHEET = stylefile.read()
52
+
48
53
  MULTICAST_PORT = 2239
49
54
  MULTICAST_GROUP = "224.1.1.1"
50
55
  INTERFACE_IP = "0.0.0.0"
@@ -92,6 +97,8 @@ class MainWindow(QtWidgets.QMainWindow):
92
97
  self._udpwatch = None
93
98
  self.udp_fifo = queue.Queue()
94
99
  self.load_pref()
100
+ if self.pref.get("dark_mode"):
101
+ self.setStyleSheet(DARK_STYLESHEET)
95
102
  self.dbname = DATA_PATH + "/" + self.pref.get("current_database", "ham.db")
96
103
  self.database = DataBase(self.dbname, WORKING_PATH)
97
104
  self.database.current_contest = self.pref.get("contest", 0)
@@ -256,6 +263,8 @@ class MainWindow(QtWidgets.QMainWindow):
256
263
  """Show edit contact dialog"""
257
264
  logger.debug("Edit: %s", uuid)
258
265
  self.edit_contact_dialog = EditContact(WORKING_PATH)
266
+ if self.pref.get("dark_mode"):
267
+ self.edit_contact_dialog.setStyleSheet(DARK_STYLESHEET)
259
268
  self.edit_contact_dialog.accepted.connect(self.save_edited_contact)
260
269
  self.contact = self.database.fetch_contact_by_uuid(uuid)
261
270
  self.edit_contact_dialog.delete_2.clicked.connect(self.delete_contact)
@@ -45,10 +45,8 @@ def interface(self):
45
45
  self.field2.show()
46
46
  self.field3.show()
47
47
  self.field4.show()
48
- label = self.field3.findChild(QtWidgets.QLabel)
49
- label.setText("SentNR")
50
- label = self.field4.findChild(QtWidgets.QLabel)
51
- label.setText("RcvNR")
48
+ self.other_label.setText("SentNR")
49
+ self.exch_label.setText("RcvNR")
52
50
 
53
51
 
54
52
  def reset_label(self):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 23.5.7
3
+ Version: 23.5.8
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
@@ -28,8 +28,7 @@ License-File: LICENSE
28
28
 
29
29
  - [Not1MM](#not1mm)
30
30
  - [What and why is Not1MM](#what-and-why-is-not1mm)
31
- - [What it is not](#what-it-is-not)
32
- - [What it probably never will be](#what-it-probably-never-will-be)
31
+ - [Current state](#current-state)
33
32
  - [List of should be working contests](#list-of-should-be-working-contests)
34
33
  - [Changes of note](#changes-of-note)
35
34
  - [Installing from PyPi](#installing-from-pypi)
@@ -90,15 +89,9 @@ I personally don't. While it may be possible to get N1MM working under Wine, I h
90
89
  Something to do in my free time.
91
90
  While I'm not watching TV, Right vs Left political 'News' programs, mind numbing 'Reality' TV etc...
92
91
 
93
- ## What it is not
92
+ ## Current state
94
93
 
95
- Fully working.
96
-
97
- The current state is "**BETA**". I've used it for CQ WPX SSB and JIDX CW, and was able to work contacts and submit a cabrillo at the end. I'll add contests as/if I work them.
98
-
99
- ## What it probably never will be
100
-
101
- Feature complete. I'm only one guy, and I'm not what you'd consider to be a contester. So new contests will be sparse.
94
+ The current state is "**BETA**". I've used it for A few contests, and was able to work contacts and submit a cabrillo at the end. I'm not a "Contester". So I'll add contests as/if I work them. I'm only one guy, so if you see a bug let me know. I don't do much of any Data or RTTY operating. This is why you don't see RTTY in the list of working contests. The Lord helps those who burn people at the... I mean who help themselves. Feel free to fill in that hole with a pull request.
102
95
 
103
96
  ![main screen](https://github.com/mbridak/not1mm/raw/master/pic/main.png)
104
97
 
@@ -123,6 +116,7 @@ Feature complete. I'm only one guy, and I'm not what you'd consider to be a cont
123
116
 
124
117
  ## Changes of note
125
118
 
119
+ - [23-5-8] Bandmap zoom in/out now centers scale to RX Freq.
126
120
  - [23-5-7] Added bandwidth marker to the bandmap.
127
121
  - [23-5-6] Added AR Cluster filter options for the bandmap. Added a station ID to the multicast packets. This will prevent erratic bevahiour if 2 stations are on the same network.
128
122
  - [23-5-5] Re-wrote most of the log window code. Added ARRL Sweepstakes.
@@ -163,7 +157,7 @@ Feature complete. I'm only one guy, and I'm not what you'd consider to be a cont
163
157
  - [23-3-27] Fix cursor behaviour when editing text in callsign field.
164
158
  - [23-3-25] Fix minimum call length. Fix cabrillo tag. Add adif output.
165
159
  - [23-3-24] Added dupe checking. Added CAT check for flrig or rigctld. Added online flag for flrig.
166
- - [23-3-23] Added json_data.get("cmd", "")most of Cabrillo generation. Plan to test it this weekends CQ WPX SSB.
160
+ - [23-3-23] Added most of Cabrillo generation. Plan to test it this weekends CQ WPX SSB.
167
161
  - [23-3-22] Add prefill of serial nr. set OP call on startup. Set IsMultiplier1 new unique wpx. Add OP and contest name to window title. and stuff.
168
162
  - [23-3-21] Worked on CQ WPX SSB plugin.
169
163
  - [23-3-20] Added a contact edit dialog. RightClick to edit contact. Changed placeholder text color in settings dialog. Hooked up CW speedchange widget. PgUp/PgDn to change speed.
@@ -252,8 +246,6 @@ not1mm
252
246
 
253
247
  ## Various data file locations
254
248
 
255
- json_data.get("cmd", "")
256
-
257
249
  ### Data
258
250
 
259
251
  If your system has an `XDG_DATA_HOME` environment variable set, the database and CW macro files can be found there. Otherwise they will be found at `yourhome/.local/share/not1mm`
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "not1mm"
7
- version = "23.5.7"
7
+ version = "23.5.8"
8
8
  description = "NOT1MM Logger"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes