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.
- {not1mm-23.5.7 → not1mm-23.5.8}/PKG-INFO +6 -14
- {not1mm-23.5.7 → not1mm-23.5.8}/README.md +5 -13
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/__main__.py +9 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/bandmap.py +35 -5
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/main.ui +12 -5
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/version.py +1 -1
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/logwindow.py +9 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/cq_wpx_cw.py +2 -4
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm.egg-info/PKG-INFO +6 -14
- {not1mm-23.5.7 → not1mm-23.5.8}/pyproject.toml +1 -1
- {not1mm-23.5.7 → not1mm-23.5.8}/LICENSE +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/__init__.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/Combinear.qss +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/JetBrainsMono-Regular.ttf +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/MASTER.SCP +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/about.ui +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/alpha bravo charlie delta.txt +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/bandmap.ui +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/check.png +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/configuration.ui +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/contests.sql +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/cty.json +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/cwmacros.txt +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/editcontact.ui +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/editmacro.ui +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/greendot.png +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/k6gte-not1mm.desktop +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/k6gte.not1mm-128.png +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/k6gte.not1mm-32.png +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/k6gte.not1mm-64.png +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/logwindow.ui +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/new_contest.ui +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/opon.ui +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/0.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/1.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/2.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/3.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/4.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/5.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/6.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/7.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/73.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/8.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/9.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/a.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/again.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/b.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/c.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/contest.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/cq.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/d.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/e.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/f.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/g.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/h.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/i.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/j.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/k.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/k6gte.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/l.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/m.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/mynumber.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/n.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/nil.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/o.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/p.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/q.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/r.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/roger.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/s.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/space.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/t.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/thankyou.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/u.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/v.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/w.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/x.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/y.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/yourcall.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/phonetics/z.wav +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/pickcontest.ui +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/reddot.png +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/settings.ui +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/data/ssbmacros.txt +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/__init__.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/about.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/cat_interface.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/cwinterface.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/database.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/edit_contact.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/edit_macro.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/edit_opon.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/edit_station.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/ham_utility.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/lookup.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/multicast.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/n1mm.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/new_contest.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/select_contest.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/lib/settings.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/10_10_fall_cw.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/10_10_spring_cw.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/10_10_summer_phone.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/10_10_winter_phone.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/__init__.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/arrl_dx_cw.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/arrl_dx_ssb.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/arrl_field_day.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/arrl_rtty_ru.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/arrl_ss_cw.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/arrl_ss_phone.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/cq_wpx_ssb.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/cq_ww_cw.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/cq_ww_ssb.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/cwt.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/general_logging.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/jidx_cw.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/jidx_ph.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/plugins/winter_field_day.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm/testing/test.py +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm.egg-info/SOURCES.txt +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm.egg-info/dependency_links.txt +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm.egg-info/entry_points.txt +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm.egg-info/requires.txt +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/not1mm.egg-info/top_level.txt +0 -0
- {not1mm-23.5.7 → not1mm-23.5.8}/setup.cfg +0 -0
- {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.
|
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
|
-
- [
|
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
|
-
##
|
92
|
+
## Current state
|
94
93
|
|
95
|
-
|
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
|

|
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
|
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
|
-
- [
|
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
|
-
##
|
73
|
+
## Current state
|
75
74
|
|
76
|
-
|
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
|

|
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
|
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>
|
10
|
-
<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>
|
1023
|
-
<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.
|
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
|
-
|
49
|
-
|
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.
|
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
|
-
- [
|
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
|
-
##
|
92
|
+
## Current state
|
94
93
|
|
95
|
-
|
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
|

|
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
|
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`
|
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
|
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
|
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
|
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
|
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|