not1mm 25.3.31.1__py3-none-any.whl → 25.4.2__py3-none-any.whl

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/statistics.py CHANGED
@@ -8,8 +8,6 @@ from PyQt6 import uic, QtWidgets
8
8
  from PyQt6.QtWidgets import QDockWidget
9
9
  from PyQt6.QtCore import pyqtSignal
10
10
 
11
- from PyQt6.QtGui import QColorConstants, QPalette, QColor
12
-
13
11
  import not1mm.fsutils as fsutils
14
12
  from not1mm.lib.database import DataBase
15
13
 
@@ -46,10 +44,6 @@ class StatsWindow(QDockWidget):
46
44
 
47
45
  def msg_from_main(self, packet):
48
46
  """"""
49
- if packet.get("cmd", "") == "DARKMODE":
50
- self.setDarkMode(packet.get("state", False))
51
- return
52
-
53
47
  if self.active is False:
54
48
  return
55
49
 
@@ -74,49 +68,6 @@ class StatsWindow(QDockWidget):
74
68
  def setActive(self, mode: bool) -> None:
75
69
  self.active = bool(mode)
76
70
 
77
- def setDarkMode(self, dark: bool) -> None:
78
- """Forces a darkmode palette."""
79
- return
80
- if dark:
81
- darkPalette = QPalette()
82
- darkColor = QColor(56, 56, 56)
83
- disabledColor = QColor(127, 127, 127)
84
- darkPalette.setColor(QPalette.ColorRole.Window, darkColor)
85
- darkPalette.setColor(QPalette.ColorRole.WindowText, QColorConstants.White)
86
- darkPalette.setColor(QPalette.ColorRole.Base, QColor(45, 45, 45))
87
- darkPalette.setColor(QPalette.ColorRole.AlternateBase, darkColor)
88
- darkPalette.setColor(QPalette.ColorRole.Text, QColorConstants.White)
89
- darkPalette.setColor(QPalette.ColorRole.Button, darkColor)
90
- darkPalette.setColor(QPalette.ColorRole.ButtonText, QColorConstants.White)
91
- darkPalette.setColor(QPalette.ColorRole.BrightText, QColorConstants.Red)
92
- darkPalette.setColor(QPalette.ColorRole.Link, QColor(42, 130, 218))
93
- darkPalette.setColor(QPalette.ColorRole.Highlight, QColor(42, 130, 218))
94
- darkPalette.setColor(
95
- QPalette.ColorRole.HighlightedText, QColorConstants.Black
96
- )
97
- darkPalette.setColor(
98
- QPalette.ColorGroup.Disabled,
99
- QPalette.ColorRole.ButtonText,
100
- disabledColor,
101
- )
102
- darkPalette.setColor(
103
- QPalette.ColorGroup.Disabled,
104
- QPalette.ColorRole.HighlightedText,
105
- disabledColor,
106
- )
107
- darkPalette.setColor(
108
- QPalette.ColorGroup.Disabled,
109
- QPalette.ColorRole.Text,
110
- disabledColor,
111
- )
112
-
113
- self.setPalette(darkPalette)
114
- self.current_palette = darkPalette
115
- else:
116
- palette = self.style().standardPalette()
117
- self.setPalette(palette)
118
- self.current_palette = palette
119
-
120
71
  def load_pref(self) -> None:
121
72
  """
122
73
  Load preference file to get current db filename and sets the initial darkmode state.
@@ -141,7 +92,6 @@ class StatsWindow(QDockWidget):
141
92
 
142
93
  except (IOError, JSONDecodeError) as exception:
143
94
  logger.critical("Error: %s", exception)
144
- self.setDarkMode(self.pref.get("darkmode", False))
145
95
 
146
96
  def get_run_and_total_qs(self):
147
97
  """get numbers"""
not1mm/vfo.py CHANGED
@@ -20,7 +20,6 @@ import serial
20
20
  from PyQt6 import QtCore, QtWidgets, uic
21
21
  from PyQt6.QtCore import QTimer
22
22
  from PyQt6.QtWidgets import QDockWidget
23
- from PyQt6.QtGui import QColorConstants, QPalette, QColor
24
23
 
25
24
  import not1mm.fsutils as fsutils
26
25
  from not1mm.lib.cat_interface import CAT
@@ -55,50 +54,6 @@ class VfoWindow(QDockWidget):
55
54
  self.poll_rig_timer.start(500)
56
55
  self.visibilityChanged.connect(self.window_state_changed)
57
56
 
58
- def setDarkMode(self, dark: bool) -> None:
59
- """Forces a darkmode palette."""
60
- return
61
- if dark:
62
- darkPalette = QPalette()
63
- darkColor = QColor(56, 56, 56)
64
- disabledColor = QColor(127, 127, 127)
65
- darkPalette.setColor(QPalette.ColorRole.Window, darkColor)
66
- darkPalette.setColor(QPalette.ColorRole.WindowText, QColorConstants.White)
67
- darkPalette.setColor(QPalette.ColorRole.Base, QColor(45, 45, 45))
68
- darkPalette.setColor(QPalette.ColorRole.AlternateBase, darkColor)
69
- darkPalette.setColor(QPalette.ColorRole.Text, QColorConstants.White)
70
- darkPalette.setColor(QPalette.ColorRole.Button, darkColor)
71
- darkPalette.setColor(QPalette.ColorRole.ButtonText, QColorConstants.White)
72
- darkPalette.setColor(QPalette.ColorRole.BrightText, QColorConstants.Red)
73
- darkPalette.setColor(QPalette.ColorRole.Link, QColor(42, 130, 218))
74
- darkPalette.setColor(QPalette.ColorRole.Highlight, QColor(42, 130, 218))
75
- darkPalette.setColor(
76
- QPalette.ColorRole.HighlightedText, QColorConstants.Black
77
- )
78
- darkPalette.setColor(
79
- QPalette.ColorGroup.Disabled,
80
- QPalette.ColorRole.ButtonText,
81
- disabledColor,
82
- )
83
- darkPalette.setColor(
84
- QPalette.ColorGroup.Disabled,
85
- QPalette.ColorRole.HighlightedText,
86
- disabledColor,
87
- )
88
- darkPalette.setColor(
89
- QPalette.ColorGroup.Disabled,
90
- QPalette.ColorRole.Text,
91
- disabledColor,
92
- )
93
-
94
- self.current_palette = darkPalette
95
- self.setPalette(darkPalette)
96
- self.text_color = QColorConstants.White
97
- else:
98
- palette = self.style().standardPalette()
99
- self.current_palette = palette
100
- self.setPalette(palette)
101
-
102
57
  def load_pref(self) -> None:
103
58
  """
104
59
  Load preference file.
@@ -137,7 +92,6 @@ class VfoWindow(QDockWidget):
137
92
  int(self.pref.get("CAT_port", 4532)),
138
93
  )
139
94
  self.timer.start(100)
140
- self.setDarkMode(self.pref.get("darkmode", False))
141
95
 
142
96
  def discover_device(self) -> str:
143
97
  """
@@ -222,8 +176,6 @@ class VfoWindow(QDockWidget):
222
176
  except AttributeError:
223
177
  logger.critical("Unable to write to serial device.")
224
178
  return
225
- if msg_dict.get("cmd", "") == "DARKMODE":
226
- self.setDarkMode(msg_dict.get("state", False))
227
179
 
228
180
  def showNumber(self, the_number) -> None:
229
181
  """Display vfo value with dots"""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: not1mm
3
- Version: 25.3.31.1
3
+ Version: 25.4.2
4
4
  Summary: NOT1MM Logger
5
5
  Author-email: Michael Bridak <michael.bridak@gmail.com>
6
6
  License: GPL-3.0-or-later
@@ -13,7 +13,7 @@ Classifier: Operating System :: POSIX :: Linux
13
13
  Classifier: Intended Audience :: End Users/Desktop
14
14
  Classifier: Natural Language :: English
15
15
  Classifier: Topic :: Communications :: Ham Radio
16
- Requires-Python: >=3.9
16
+ Requires-Python: >=3.10
17
17
  Description-Content-Type: text/markdown
18
18
  License-File: LICENSE
19
19
  Requires-Dist: PyQt6
@@ -247,24 +247,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
247
247
 
248
248
  ## Recent Changes
249
249
 
250
- - [25-3-31-1] Recolor rate window lables.
251
- - [25-3-31] Maybe try and do something useful with the detection of the systems dark mode.
252
- - [25-3-27-1] Detect system dark mode.
253
- - [25-3-27] Add more DI and PH mode to stats window.
254
- - [25-3-26] Record 0 points on dupes for each contest, excluding RandomGram.
255
- - [25-3-25-1] Improved process messaging.
256
- - [25-3-25] Use safer dict key access in the stats window.
257
- - [25-3-24] Add CW, PH, DI counts to the statistics window.
258
- - [25-3-23] Add a statistics window.
259
- - [25-3-19-1] Add EA His Maj King of Spain SSB.
260
- - [25-3-19] Merged PR from @DD5ML Adding DARC VHF.
261
- - [25-3-18] Add His Maj King of Spain CW
262
- - [25-3-17] Add EA RTTY contest.
263
- - [25-3-14] Add call history support to ARR Field Day.
264
- - [25-3-10] Slight change to adif header. Slight change to CAT status icon state.
265
- - [25-3-5] Added checks for blank/comment lines in the macros
266
- - [25-3-2] Added call history support to ARRL DX, just in time for it to be over.
267
- - [25-3-1] Add {OTHER1} and {OTHER2} macros.
250
+ - [25-4-2] Add some tool tips to bandmap and main. Updated Zoom buttons on bandmap. Updated minimum Python version to 3.10.
251
+ - [25-4-1] Fix: statistics window not populating when initially activated from the window menu. Removed unused code chucks. Removed some unused and hidden visual elements.
268
252
 
269
253
  See [CHANGELOG.md](CHANGELOG.md) for prior changes.
270
254
 
@@ -281,7 +265,7 @@ clue me into the black magic needed to get it to work.
281
265
 
282
266
  Not1MM requires:
283
267
 
284
- - Python 3.9+
268
+ - Python 3.10+
285
269
  - PyQt6
286
270
  - libportaudio2
287
271
  - libxcb-cursor0 (maybe... Depends on the distro)
@@ -634,12 +618,18 @@ appear. Those without will not.
634
618
 
635
619
  On the Options TAB you can:
636
620
 
637
- - Select to use Enter Sends Message (ESM), and configure it's function keys.
638
- - Select whether or not to use Call History info.
621
+ - Select to use Enter Sends Message ([ESM](#esm)), and configure it's function keys.
622
+ - Select whether or not to use [Call History](#call-history-files) info.
639
623
  - Select whether or not to send XML score info to online scoreboards.
640
624
 
641
625
  ![Options Screen](https://github.com/mbridak/not1mm/blob/master/pic/configuration_options.png?raw=true)
642
626
 
627
+ Three realtime score boards are supported:
628
+
629
+ - Real Time Contest Server at hamscore.com
630
+ - Contest Online ScoreBoard at contestonlinescore.com
631
+ - LiveScore at contest.run
632
+
643
633
  ## Logging WSJT-X FT8/FT4/ETC and FLDIGI RTTY contacts
644
634
 
645
635
  Not1MM listens for WSJT-X UDP traffic on the Multicast address 224.0.0.1:2237.
@@ -1,27 +1,27 @@
1
1
  not1mm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- not1mm/__main__.py,sha256=3UxI_-ipouZWJAanQP0_I-HP17q52hNIuGvsc4-x3i8,152402
2
+ not1mm/__main__.py,sha256=VN2xTYUff4S5DP523oeLcP5J36FKybvOcSHUpU12MUw,151520
3
3
  not1mm/bandmap.py,sha256=-zu5slsuAm2GmeW8g3yvURzsuQxemwIQfw1HEq8xKHM,29920
4
- not1mm/checkwindow.py,sha256=uayM1QYrLzKDPFrOz3TUB6j-LdJjK44Q7ZQLa74IVdI,9684
4
+ not1mm/checkwindow.py,sha256=zEHlw40j6Wr3rvKbCQf2lcezCoiZqaBqEvBjQU5aKW0,7630
5
5
  not1mm/fsutils.py,sha256=ukHKxKTeNKxKwqRaJjtzRShL4X5Xl0jRBbADyy3Ifp8,1701
6
- not1mm/logwindow.py,sha256=TKpV-EZsYrW_KrEmiw92ajIrx_ec_9mgGPqDRffwaTA,44781
6
+ not1mm/logwindow.py,sha256=5I0nNfTR0zGw1LQ3cC4drcZo3l58kxf5UA5F0AZ-fKc,42565
7
7
  not1mm/lookupservice.py,sha256=GkY_qHZfrW6XHf8upIoaG4hCFqm0fg6Ganu9ConGrIc,2628
8
8
  not1mm/radio.py,sha256=_b-tSFuDLoBKnABxrsafGQu2p33U-KOubY7-qgLV2yg,5408
9
- not1mm/ratewindow.py,sha256=ssfejzNfRwWhZ18ttEzAwCx2fUIDk49Cx-7_zebe9A0,9905
9
+ not1mm/ratewindow.py,sha256=mQ7lNJD0N61Mov1kX6MYfLz6-5lbnedFV--T3A-nvNU,7003
10
10
  not1mm/rtc_service.py,sha256=axAwnCBuTr-QL0YwXtWvg9tjwhcFsiiEZFgFjOofX6k,2816
11
- not1mm/statistics.py,sha256=DJfBnx3yGO1yf5YUX0Wcun5rfr9IswOE1C4GnNeYbQ0,9814
11
+ not1mm/statistics.py,sha256=PtlOUmogW9JSTBlQmMhU6yXl_hoLJquYrdX88Oi-2NA,7644
12
12
  not1mm/test.py,sha256=RN71m2S9MPIOJMaoCi0wZhwEhpEZunvtosZxaKahRB4,101
13
- not1mm/vfo.py,sha256=n2_mO0kzky_C8-mZLXpr5UAxdwttrF5bWtzmudNoGV4,11150
13
+ not1mm/vfo.py,sha256=3kdSfLHLHAGgSE8b8H9n-jFUg_5L7tvrZt_7YCkdsLo,8945
14
14
  not1mm/voice_keying.py,sha256=HZImqC5NgnyW2nknNYQ3b7I8-6S_hxpq5G4RcIRXn_k,3005
15
15
  not1mm/data/JetBrainsMono-ExtraLight.ttf,sha256=g5Hn7BPounWMGDj1a8zZcyKMz03HSqW__pUluRR7Evg,274144
16
- not1mm/data/MASTER.SCP,sha256=FWKs4Xw3w7FNUt2npA6VzsLME7NAbHRugxaL6TnsvzU,364234
16
+ not1mm/data/MASTER.SCP,sha256=LuF8dTtdRKaqSyzJ1nl7zW2-gs5ehQiXiI41t5Zo9Bo,362769
17
17
  not1mm/data/about.ui,sha256=IzbwKQZ_Ea06qGEjJgsa7g8-oYk549f-MEpLtChiLvw,2078
18
18
  not1mm/data/alpha bravo charlie delta.txt,sha256=d5QMmSWEUAe4Rj1XbNjTPLa_5Be4Se6u5LUIqAYidOQ,224
19
- not1mm/data/bandmap.ui,sha256=rh9GHdBOIfrOmamR6zUZ15aJ4VDsX5mQoVuZs8bV8TI,8034
19
+ not1mm/data/bandmap.ui,sha256=hDYya6I7_EAM_c5wkLzWcD0nQovd2uIHjvJLCKQq3Zk,8624
20
20
  not1mm/data/check.png,sha256=UvFOLr8V-79qnjW8wUaGItXk_OSP8m8hqPevs8NDlFY,387
21
21
  not1mm/data/checkwindow.ui,sha256=PRD98K0julJ9EfWqoE89dT8UPuPKQzGiWBk_efAko3o,5141
22
22
  not1mm/data/configuration.ui,sha256=mqhEvxD9lQGeoEkUrvbO9uNrOG62z6EIUUMa_b_SG-o,74752
23
23
  not1mm/data/contests.sql,sha256=4hmJCDvrbxnA_Y5S4T5o52TZieeFk6QUwFerwlFePNA,89307
24
- not1mm/data/cty.json,sha256=dPG9K1Pm4Rxd4uJom_gQ8y-sbqiZfILpl4kBAFnOveU,4877142
24
+ not1mm/data/cty.json,sha256=bwPhOrOAgvV9JiXUDT9kzCqfNWAhGuJQt489h0SKsCk,4925375
25
25
  not1mm/data/cwmacros.txt,sha256=NztufsX6R52gAO7VyJ2AHr7wOh41pJTwHKh5Lcs32ds,468
26
26
  not1mm/data/donors.html,sha256=0NEh7eu9Dsfv1Gy0_f6UMp4ZjVjm7OgoQJEQd-4whoU,267
27
27
  not1mm/data/editcontact.ui,sha256=TNOsXETYfDaON4wj6AkzCJ-n2SmbNRO2-g2SLl5m8s0,27437
@@ -33,7 +33,7 @@ not1mm/data/k6gte.not1mm-32.png,sha256=XdTsCa3xqwTfn26Ga7RwO_Vlbg_77RKkSc8bMxVcC
33
33
  not1mm/data/k6gte.not1mm-64.png,sha256=6ku45Gq1g5ezh04F07osoKRtanb3e4kbx5XdIEh3N90,2925
34
34
  not1mm/data/logwindow.ui,sha256=f7vULj96tHIQuR1nJMyvPHHcmVgzkhv9D1isyojsnFU,1458
35
35
  not1mm/data/logwindowx.ui,sha256=CwpI-h7cI1yqyldH9quKftsdHL5lTyL9ABOcf80nfqc,1632
36
- not1mm/data/main.ui,sha256=7H38twKBpL8ZX4rrPCg4XQH1fRIiaVFE7t_yWxygS9Y,63824
36
+ not1mm/data/main.ui,sha256=DNJ7jK_1Dd9SDiiGbdwvXDA0WEKjApdRKqBPYFt7S3c,63737
37
37
  not1mm/data/new_contest.ui,sha256=m41EGeg1yPSUZAkF8jA2z1EKytZD9hZYiQDh1sjE2ac,24602
38
38
  not1mm/data/not1mm.html,sha256=c9-mfjMwDt4f5pySUruz2gREW33CQ2_rCddM2z5CZQo,23273
39
39
  not1mm/data/opon.ui,sha256=QDicqAk2lORG2UWsHa6jHlsGn6uzrrI2R4HSAocpPes,2258
@@ -41,7 +41,7 @@ not1mm/data/pickcontest.ui,sha256=4hPBszCglObThx_eIWtmK9CEcbr7WBjbB1rKZdI-o3I,17
41
41
  not1mm/data/radio_green.png,sha256=PXlvRI2x0C8yLVkxRwrZe6tex8k9GtM-1Cj2Vy6KP7o,1234
42
42
  not1mm/data/radio_grey.png,sha256=9eOtMHDpQvRYY29D7_vPeacWbwotRXZTMm8EiHE9TW0,1258
43
43
  not1mm/data/radio_red.png,sha256=QvkMk7thd_hCEIyK5xGAG4xVVXivl39nwOfD8USDI20,957
44
- not1mm/data/ratewindow.ui,sha256=eJgRVLBmy3QdUHzrnCZ94aLJhghghq2UwyEZmOcdqUQ,23571
44
+ not1mm/data/ratewindow.ui,sha256=BlTPsF6ojhFbsfOXVmg1rf_dvEUiY_fa7gfjcWHLgG0,11567
45
45
  not1mm/data/reddot.png,sha256=M33jEMoU8W4rQ4_MVyzzKxDPDte1ypKBch5VnUMNLKE,565
46
46
  not1mm/data/rttymacros.txt,sha256=FQ2BnAChXF5w-tzmMnBOE8IgvviAEsd3cmmz4b8GOPk,467
47
47
  not1mm/data/settings.ui,sha256=rZmhUjFAyCA8B-cd4Ljrvz5qC3NKy6S3feYVh5WX-tw,40084
@@ -118,7 +118,7 @@ not1mm/lib/plugin_common.py,sha256=D1OBjyLmX7zuSPqgTCmHwXzAKA12J_zTQItvyIem-4Y,1
118
118
  not1mm/lib/select_contest.py,sha256=WsptLuwkouIHeocJL3oZ6-eUfEnhpwdc-x7eMZ_TIVM,359
119
119
  not1mm/lib/settings.py,sha256=mXffn8Xaj5KATPQinNBR0V5DbHWQPsRfh24_axWGYuk,15254
120
120
  not1mm/lib/super_check_partial.py,sha256=hwT2NRwobu0PLDyw6ltmbmcAtGBD02CKGFbgGWjXMqA,2334
121
- not1mm/lib/version.py,sha256=0Z0Rrj895CVpHlAMvTDWXEac9Mmnak8YADVeiuOc7pI,50
121
+ not1mm/lib/version.py,sha256=ubmyEq1SbBDGDa7ACIQcN7K0xQ9-NaZ0ltyq5NzVtRo,47
122
122
  not1mm/lib/versiontest.py,sha256=8vDNptuBBunn-1IGkjNaquehqBYUJyjrPSF8Igmd4_Y,1286
123
123
  not1mm/plugins/10_10_fall_cw.py,sha256=oJh3JKqjOpnWElSlZpiQ631UnaOd8qra5s9bl_QoInk,14783
124
124
  not1mm/plugins/10_10_spring_cw.py,sha256=p7dSDtbFK0e6Xouw2V6swYn3VFVgHKyx4IfRWyBjMZY,14786
@@ -173,9 +173,9 @@ not1mm/plugins/ref_ssb.py,sha256=cUFUtbe7-5rwZZHEzpPnaIAnwrwayqBvtgctxQDF5Gw,215
173
173
  not1mm/plugins/stew_perry_topband.py,sha256=3U-Dr28haBTqTaZWLiC1qHQBmLsLENDL-ihyddPpJbg,15403
174
174
  not1mm/plugins/weekly_rtty.py,sha256=C8Xs3Q5UgSYx-mFFar8BVARWtmqlyrbeC98Ubzb4UN8,20128
175
175
  not1mm/plugins/winter_field_day.py,sha256=hmAMgkdqIXtnCNyUp8J9Bb8liN8wj10wps6ROuG-Bok,15284
176
- not1mm-25.3.31.1.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
177
- not1mm-25.3.31.1.dist-info/METADATA,sha256=yzXmGtoTcOcotpd28N7lbgG9d-XhJ5Ab8QiD8PRqQrA,37697
178
- not1mm-25.3.31.1.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
179
- not1mm-25.3.31.1.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
180
- not1mm-25.3.31.1.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
181
- not1mm-25.3.31.1.dist-info/RECORD,,
176
+ not1mm-25.4.2.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
177
+ not1mm-25.4.2.dist-info/METADATA,sha256=DBXImFeDXMA-V7JqShJp6V2ySVL4QfyUTd_1jpfZWKc,37193
178
+ not1mm-25.4.2.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
179
+ not1mm-25.4.2.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
180
+ not1mm-25.4.2.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
181
+ not1mm-25.4.2.dist-info/RECORD,,