not1mm 25.3.31.1__py3-none-any.whl → 25.4.1__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/__main__.py CHANGED
@@ -1947,6 +1947,7 @@ class MainWindow(QtWidgets.QMainWindow):
1947
1947
  if self.actionStatistics.isChecked():
1948
1948
  self.statistics_window.show()
1949
1949
  self.statistics_window.setActive(True)
1950
+ self.statistics_window.get_run_and_total_qs()
1950
1951
  else:
1951
1952
  self.statistics_window.hide()
1952
1953
  self.statistics_window.setActive(False)
not1mm/checkwindow.py CHANGED
@@ -17,7 +17,7 @@ import Levenshtein
17
17
 
18
18
  from PyQt6 import uic
19
19
  from PyQt6.QtWidgets import QLabel, QVBoxLayout, QWidget, QDockWidget
20
- from PyQt6.QtGui import QMouseEvent, QColorConstants, QPalette, QColor
20
+ from PyQt6.QtGui import QMouseEvent
21
21
  from PyQt6.QtCore import pyqtSignal
22
22
 
23
23
  import not1mm.fsutils as fsutils
@@ -62,9 +62,7 @@ class CheckWindow(QDockWidget):
62
62
 
63
63
  def msg_from_main(self, packet):
64
64
  """"""
65
- if packet.get("cmd", "") == "DARKMODE":
66
- self.setDarkMode(packet.get("state", False))
67
- return
65
+
68
66
  if packet.get("cmd", "") == "UPDATELOG":
69
67
  self.clear_lists()
70
68
  return
@@ -97,47 +95,6 @@ class CheckWindow(QDockWidget):
97
95
  cmd["call"] = item
98
96
  self.message.emit(cmd)
99
97
 
100
- def setDarkMode(self, dark: bool) -> None:
101
- """Forces a darkmode palette."""
102
- return
103
- if dark:
104
- darkPalette = QPalette()
105
- darkColor = QColor(56, 56, 56)
106
- disabledColor = QColor(127, 127, 127)
107
- darkPalette.setColor(QPalette.ColorRole.Window, darkColor)
108
- darkPalette.setColor(QPalette.ColorRole.WindowText, QColorConstants.White)
109
- darkPalette.setColor(QPalette.ColorRole.Base, QColor(45, 45, 45))
110
- darkPalette.setColor(QPalette.ColorRole.AlternateBase, darkColor)
111
- darkPalette.setColor(QPalette.ColorRole.Text, QColorConstants.White)
112
- darkPalette.setColor(QPalette.ColorRole.Button, darkColor)
113
- darkPalette.setColor(QPalette.ColorRole.ButtonText, QColorConstants.White)
114
- darkPalette.setColor(QPalette.ColorRole.BrightText, QColorConstants.Red)
115
- darkPalette.setColor(QPalette.ColorRole.Link, QColor(42, 130, 218))
116
- darkPalette.setColor(QPalette.ColorRole.Highlight, QColor(42, 130, 218))
117
- darkPalette.setColor(
118
- QPalette.ColorRole.HighlightedText, QColorConstants.Black
119
- )
120
- darkPalette.setColor(
121
- QPalette.ColorGroup.Disabled,
122
- QPalette.ColorRole.ButtonText,
123
- disabledColor,
124
- )
125
- darkPalette.setColor(
126
- QPalette.ColorGroup.Disabled,
127
- QPalette.ColorRole.HighlightedText,
128
- disabledColor,
129
- )
130
- darkPalette.setColor(
131
- QPalette.ColorGroup.Disabled,
132
- QPalette.ColorRole.Text,
133
- disabledColor,
134
- )
135
-
136
- self.setPalette(darkPalette)
137
- else:
138
- palette = self.style().standardPalette()
139
- self.setPalette(palette)
140
-
141
98
  def load_pref(self) -> None:
142
99
  """
143
100
  Load preference file to get current db filename and sets the initial darkmode state.
@@ -162,7 +119,6 @@ class CheckWindow(QDockWidget):
162
119
 
163
120
  except IOError as exception:
164
121
  logger.critical("Error: %s", exception)
165
- self.setDarkMode(self.pref.get("darkmode", False))
166
122
 
167
123
  def clear_lists(self) -> None:
168
124
  """
not1mm/data/ratewindow.ui CHANGED
@@ -7,9 +7,21 @@
7
7
  <x>0</x>
8
8
  <y>0</y>
9
9
  <width>252</width>
10
- <height>504</height>
10
+ <height>250</height>
11
11
  </rect>
12
12
  </property>
13
+ <property name="sizePolicy">
14
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
15
+ <horstretch>0</horstretch>
16
+ <verstretch>0</verstretch>
17
+ </sizepolicy>
18
+ </property>
19
+ <property name="minimumSize">
20
+ <size>
21
+ <width>200</width>
22
+ <height>200</height>
23
+ </size>
24
+ </property>
13
25
  <property name="font">
14
26
  <font>
15
27
  <family>JetBrains Mono ExtraLight</family>
@@ -225,90 +237,6 @@
225
237
  </property>
226
238
  </widget>
227
239
  </item>
228
- <item>
229
- <layout class="QFormLayout" name="formLayout_2">
230
- <property name="sizeConstraint">
231
- <enum>QLayout::SizeConstraint::SetMinimumSize</enum>
232
- </property>
233
- <property name="labelAlignment">
234
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
235
- </property>
236
- <property name="formAlignment">
237
- <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
238
- </property>
239
- <item row="0" column="0">
240
- <widget class="QLabel" name="label_10">
241
- <property name="minimumSize">
242
- <size>
243
- <width>112</width>
244
- <height>0</height>
245
- </size>
246
- </property>
247
- <property name="text">
248
- <string>Time ON:</string>
249
- </property>
250
- <property name="alignment">
251
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
252
- </property>
253
- </widget>
254
- </item>
255
- <item row="0" column="1">
256
- <widget class="QLabel" name="time_on">
257
- <property name="maximumSize">
258
- <size>
259
- <width>112</width>
260
- <height>16777215</height>
261
- </size>
262
- </property>
263
- <property name="text">
264
- <string>00:00</string>
265
- </property>
266
- <property name="alignment">
267
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
268
- </property>
269
- </widget>
270
- </item>
271
- <item row="1" column="0">
272
- <widget class="QLabel" name="label_12">
273
- <property name="text">
274
- <string>Time off:</string>
275
- </property>
276
- <property name="alignment">
277
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
278
- </property>
279
- </widget>
280
- </item>
281
- <item row="1" column="1">
282
- <widget class="QLabel" name="time_off">
283
- <property name="maximumSize">
284
- <size>
285
- <width>112</width>
286
- <height>16777215</height>
287
- </size>
288
- </property>
289
- <property name="text">
290
- <string>00:00</string>
291
- </property>
292
- <property name="alignment">
293
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
294
- </property>
295
- </widget>
296
- </item>
297
- </layout>
298
- </item>
299
- <item>
300
- <widget class="Line" name="line_2">
301
- <property name="lineWidth">
302
- <number>4</number>
303
- </property>
304
- <property name="midLineWidth">
305
- <number>0</number>
306
- </property>
307
- <property name="orientation">
308
- <enum>Qt::Horizontal</enum>
309
- </property>
310
- </widget>
311
- </item>
312
240
  <item>
313
241
  <layout class="QFormLayout" name="formLayout_3">
314
242
  <property name="sizeConstraint">
@@ -432,317 +360,6 @@
432
360
  </item>
433
361
  </layout>
434
362
  </item>
435
- <item>
436
- <widget class="Line" name="line_4">
437
- <property name="lineWidth">
438
- <number>4</number>
439
- </property>
440
- <property name="orientation">
441
- <enum>Qt::Horizontal</enum>
442
- </property>
443
- </widget>
444
- </item>
445
- <item>
446
- <widget class="QLabel" name="band_mode">
447
- <property name="font">
448
- <font>
449
- <family>JetBrains Mono ExtraLight</family>
450
- <bold>true</bold>
451
- </font>
452
- </property>
453
- <property name="text">
454
- <string>Band: 144 - Mode: CW 00 WPM</string>
455
- </property>
456
- <property name="alignment">
457
- <set>Qt::AlignCenter</set>
458
- </property>
459
- </widget>
460
- </item>
461
- <item>
462
- <layout class="QFormLayout" name="formLayout_4">
463
- <property name="sizeConstraint">
464
- <enum>QLayout::SizeConstraint::SetMinimumSize</enum>
465
- </property>
466
- <property name="labelAlignment">
467
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
468
- </property>
469
- <property name="formAlignment">
470
- <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
471
- </property>
472
- <property name="topMargin">
473
- <number>0</number>
474
- </property>
475
- <property name="bottomMargin">
476
- <number>0</number>
477
- </property>
478
- <item row="0" column="0">
479
- <widget class="QLabel" name="label_23">
480
- <property name="minimumSize">
481
- <size>
482
- <width>112</width>
483
- <height>0</height>
484
- </size>
485
- </property>
486
- <property name="text">
487
- <string>Average km:</string>
488
- </property>
489
- <property name="alignment">
490
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
491
- </property>
492
- </widget>
493
- </item>
494
- <item row="0" column="1">
495
- <widget class="QLabel" name="avg_km">
496
- <property name="maximumSize">
497
- <size>
498
- <width>112</width>
499
- <height>16777215</height>
500
- </size>
501
- </property>
502
- <property name="text">
503
- <string>0 km </string>
504
- </property>
505
- <property name="alignment">
506
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
507
- </property>
508
- </widget>
509
- </item>
510
- <item row="1" column="0">
511
- <widget class="QLabel" name="label_25">
512
- <property name="text">
513
- <string>Average pts:</string>
514
- </property>
515
- <property name="alignment">
516
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
517
- </property>
518
- </widget>
519
- </item>
520
- <item row="1" column="1">
521
- <widget class="QLabel" name="avg_pts">
522
- <property name="maximumSize">
523
- <size>
524
- <width>112</width>
525
- <height>16777215</height>
526
- </size>
527
- </property>
528
- <property name="text">
529
- <string>0 pts</string>
530
- </property>
531
- <property name="alignment">
532
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
533
- </property>
534
- </widget>
535
- </item>
536
- </layout>
537
- </item>
538
- <item>
539
- <widget class="QLabel" name="best_dx">
540
- <property name="text">
541
- <string>9A5K JN85PO 1165km</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="label_26">
550
- <property name="text">
551
- <string>- Best DX (ODX) -</string>
552
- </property>
553
- <property name="alignment">
554
- <set>Qt::AlignCenter</set>
555
- </property>
556
- </widget>
557
- </item>
558
- <item>
559
- <widget class="Line" name="line_5">
560
- <property name="lineWidth">
561
- <number>4</number>
562
- </property>
563
- <property name="orientation">
564
- <enum>Qt::Horizontal</enum>
565
- </property>
566
- </widget>
567
- </item>
568
- <item>
569
- <widget class="QLabel" name="label_29">
570
- <property name="text">
571
- <string>All bands - All modes</string>
572
- </property>
573
- <property name="alignment">
574
- <set>Qt::AlignCenter</set>
575
- </property>
576
- </widget>
577
- </item>
578
- <item>
579
- <layout class="QFormLayout" name="formLayout_5">
580
- <property name="sizeConstraint">
581
- <enum>QLayout::SizeConstraint::SetMinimumSize</enum>
582
- </property>
583
- <property name="labelAlignment">
584
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
585
- </property>
586
- <property name="formAlignment">
587
- <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
588
- </property>
589
- <property name="topMargin">
590
- <number>0</number>
591
- </property>
592
- <property name="bottomMargin">
593
- <number>0</number>
594
- </property>
595
- <item row="0" column="0">
596
- <widget class="QLabel" name="label_30">
597
- <property name="minimumSize">
598
- <size>
599
- <width>112</width>
600
- <height>0</height>
601
- </size>
602
- </property>
603
- <property name="text">
604
- <string>Time by mult:</string>
605
- </property>
606
- <property name="alignment">
607
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
608
- </property>
609
- </widget>
610
- </item>
611
- <item row="0" column="1">
612
- <widget class="QLabel" name="time_by_mult">
613
- <property name="minimumSize">
614
- <size>
615
- <width>112</width>
616
- <height>0</height>
617
- </size>
618
- </property>
619
- <property name="maximumSize">
620
- <size>
621
- <width>112</width>
622
- <height>16777215</height>
623
- </size>
624
- </property>
625
- <property name="text">
626
- <string>0 min 0 sec</string>
627
- </property>
628
- <property name="alignment">
629
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
630
- </property>
631
- </widget>
632
- </item>
633
- <item row="1" column="0">
634
- <widget class="QLabel" name="label_32">
635
- <property name="text">
636
- <string>1 QSO Counts:</string>
637
- </property>
638
- <property name="alignment">
639
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
640
- </property>
641
- </widget>
642
- </item>
643
- <item row="1" column="1">
644
- <widget class="QLabel" name="qso_counts">
645
- <property name="maximumSize">
646
- <size>
647
- <width>112</width>
648
- <height>16777215</height>
649
- </size>
650
- </property>
651
- <property name="text">
652
- <string>0 pts</string>
653
- </property>
654
- <property name="alignment">
655
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
656
- </property>
657
- </widget>
658
- </item>
659
- <item row="2" column="0">
660
- <widget class="QLabel" name="label_34">
661
- <property name="text">
662
- <string>1 Mult Counts:</string>
663
- </property>
664
- <property name="alignment">
665
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
666
- </property>
667
- </widget>
668
- </item>
669
- <item row="3" column="0">
670
- <widget class="QLabel" name="label_35">
671
- <property name="text">
672
- <string>1 Mult Worth:</string>
673
- </property>
674
- <property name="alignment">
675
- <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
676
- </property>
677
- </widget>
678
- </item>
679
- <item row="2" column="1">
680
- <widget class="QLabel" name="mult_counts">
681
- <property name="maximumSize">
682
- <size>
683
- <width>112</width>
684
- <height>16777215</height>
685
- </size>
686
- </property>
687
- <property name="text">
688
- <string>0 pts</string>
689
- </property>
690
- <property name="alignment">
691
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
692
- </property>
693
- </widget>
694
- </item>
695
- <item row="3" column="1">
696
- <widget class="QLabel" name="mult_worth">
697
- <property name="maximumSize">
698
- <size>
699
- <width>112</width>
700
- <height>16777215</height>
701
- </size>
702
- </property>
703
- <property name="text">
704
- <string>0.0 QSO</string>
705
- </property>
706
- <property name="alignment">
707
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
708
- </property>
709
- </widget>
710
- </item>
711
- </layout>
712
- </item>
713
- <item>
714
- <widget class="Line" name="line_6">
715
- <property name="lineWidth">
716
- <number>4</number>
717
- </property>
718
- <property name="orientation">
719
- <enum>Qt::Horizontal</enum>
720
- </property>
721
- </widget>
722
- </item>
723
- <item>
724
- <widget class="QLabel" name="label_38">
725
- <property name="text">
726
- <string>CW 00 WPM R11</string>
727
- </property>
728
- <property name="alignment">
729
- <set>Qt::AlignCenter</set>
730
- </property>
731
- </widget>
732
- </item>
733
- <item>
734
- <spacer name="verticalSpacer">
735
- <property name="orientation">
736
- <enum>Qt::Vertical</enum>
737
- </property>
738
- <property name="sizeHint" stdset="0">
739
- <size>
740
- <width>20</width>
741
- <height>40</height>
742
- </size>
743
- </property>
744
- </spacer>
745
- </item>
746
363
  </layout>
747
364
  </item>
748
365
  </layout>
not1mm/lib/version.py CHANGED
@@ -1,3 +1,3 @@
1
1
  """It's the version"""
2
2
 
3
- __version__ = "25.3.31.1"
3
+ __version__ = "25.4.1"
not1mm/logwindow.py CHANGED
@@ -20,7 +20,6 @@ import math
20
20
  from PyQt6 import QtCore, QtGui, QtWidgets, uic
21
21
  from PyQt6.QtCore import QItemSelectionModel
22
22
  from PyQt6.QtWidgets import QDockWidget
23
- from PyQt6.QtGui import QColorConstants, QPalette, QColor
24
23
  from PyQt6.QtCore import pyqtSignal
25
24
 
26
25
  import not1mm.fsutils as fsutils
@@ -193,59 +192,12 @@ class LogWindow(QDockWidget):
193
192
  column = "Freq (Khz)"
194
193
  self.generalLog.setColumnHidden(self.get_column(column), False)
195
194
  self.focusedLog.setColumnHidden(self.get_column(column), False)
196
- if msg.get("cmd", "") == "DARKMODE":
197
- print(f".................{msg.get("state", False)=}")
198
- self.set_dark_mode(msg.get("state", False))
199
195
 
200
196
  def resize_headers_to_match(self) -> None:
201
197
  """"""
202
198
  for i in range(self.generalLog.columnCount()):
203
199
  self.focusedLog.setColumnWidth(i, self.generalLog.columnWidth(i))
204
200
 
205
- def set_dark_mode(self, dark: bool) -> None:
206
- """Forces a darkmode palette."""
207
- return
208
-
209
- if dark:
210
- darkPalette = QPalette()
211
- darkColor = QColor(56, 56, 56)
212
- disabledColor = QColor(127, 127, 127)
213
- darkPalette.setColor(QPalette.ColorRole.Window, darkColor)
214
- darkPalette.setColor(QPalette.ColorRole.WindowText, QColorConstants.White)
215
- darkPalette.setColor(QPalette.ColorRole.Base, QColor(45, 45, 45))
216
- darkPalette.setColor(QPalette.ColorRole.AlternateBase, darkColor)
217
- darkPalette.setColor(QPalette.ColorRole.Text, QColorConstants.White)
218
- darkPalette.setColor(QPalette.ColorRole.Button, darkColor)
219
- darkPalette.setColor(QPalette.ColorRole.ButtonText, QColorConstants.White)
220
- darkPalette.setColor(QPalette.ColorRole.BrightText, QColorConstants.Red)
221
- darkPalette.setColor(QPalette.ColorRole.Link, QColor(42, 130, 218))
222
- darkPalette.setColor(QPalette.ColorRole.Highlight, QColor(42, 130, 218))
223
- darkPalette.setColor(
224
- QPalette.ColorRole.HighlightedText, QColorConstants.Black
225
- )
226
- darkPalette.setColor(
227
- QPalette.ColorGroup.Disabled,
228
- QPalette.ColorRole.ButtonText,
229
- disabledColor,
230
- )
231
- darkPalette.setColor(
232
- QPalette.ColorGroup.Disabled,
233
- QPalette.ColorRole.HighlightedText,
234
- disabledColor,
235
- )
236
- darkPalette.setColor(
237
- QPalette.ColorGroup.Disabled,
238
- QPalette.ColorRole.Text,
239
- disabledColor,
240
- )
241
-
242
- self.setPalette(darkPalette)
243
- self.current_palette = darkPalette
244
- else:
245
- palette = self.style().standardPalette()
246
- self.setPalette(palette)
247
- self.current_palette = palette
248
-
249
201
  def get_column(self, name: str) -> int:
250
202
  """
251
203
  Returns the column number of the given column name.
@@ -303,7 +255,6 @@ class LogWindow(QDockWidget):
303
255
  self.n1mm.send_lookup_packets = self.pref.get("send_n1mm_lookup", False)
304
256
  self.n1mm.send_score_packets = self.pref.get("send_n1mm_score", False)
305
257
  self.n1mm.radio_info["StationName"] = self.pref.get("n1mm_station_name", "")
306
- self.set_dark_mode(self.pref.get("darkmode", False))
307
258
 
308
259
  def load_new_db(self) -> None:
309
260
  """
not1mm/ratewindow.py CHANGED
@@ -15,7 +15,6 @@ import os
15
15
 
16
16
  from PyQt6 import uic
17
17
  from PyQt6.QtWidgets import QDockWidget
18
- from PyQt6.QtGui import QColorConstants, QPalette, QColor
19
18
  from PyQt6.QtCore import pyqtSignal, QTimer
20
19
 
21
20
  import not1mm.fsutils as fsutils
@@ -46,16 +45,12 @@ class RateWindow(QDockWidget):
46
45
  self.database.current_contest = self.pref.get("contest", 0)
47
46
 
48
47
  uic.loadUi(fsutils.APP_DATA_PATH / "ratewindow.ui", self)
49
- self.hide_unused()
50
48
  self.timer = QTimer()
51
49
  self.timer.timeout.connect(self.get_run_and_total_qs)
52
50
  self.timer.start(1000)
53
51
 
54
52
  def msg_from_main(self, packet):
55
53
  """"""
56
- if packet.get("cmd", "") == "DARKMODE":
57
- self.setDarkMode(packet.get("state", False))
58
- return
59
54
 
60
55
  if self.active is False:
61
56
  return
@@ -71,47 +66,6 @@ class RateWindow(QDockWidget):
71
66
  def setActive(self, mode: bool):
72
67
  self.active = bool(mode)
73
68
 
74
- def setDarkMode(self, dark: bool) -> None:
75
- """Forces a darkmode palette."""
76
- return
77
- if dark:
78
- darkPalette = QPalette()
79
- darkColor = QColor(56, 56, 56)
80
- disabledColor = QColor(127, 127, 127)
81
- darkPalette.setColor(QPalette.ColorRole.Window, darkColor)
82
- darkPalette.setColor(QPalette.ColorRole.WindowText, QColorConstants.White)
83
- darkPalette.setColor(QPalette.ColorRole.Base, QColor(45, 45, 45))
84
- darkPalette.setColor(QPalette.ColorRole.AlternateBase, darkColor)
85
- darkPalette.setColor(QPalette.ColorRole.Text, QColorConstants.White)
86
- darkPalette.setColor(QPalette.ColorRole.Button, darkColor)
87
- darkPalette.setColor(QPalette.ColorRole.ButtonText, QColorConstants.White)
88
- darkPalette.setColor(QPalette.ColorRole.BrightText, QColorConstants.Red)
89
- darkPalette.setColor(QPalette.ColorRole.Link, QColor(42, 130, 218))
90
- darkPalette.setColor(QPalette.ColorRole.Highlight, QColor(42, 130, 218))
91
- darkPalette.setColor(
92
- QPalette.ColorRole.HighlightedText, QColorConstants.Black
93
- )
94
- darkPalette.setColor(
95
- QPalette.ColorGroup.Disabled,
96
- QPalette.ColorRole.ButtonText,
97
- disabledColor,
98
- )
99
- darkPalette.setColor(
100
- QPalette.ColorGroup.Disabled,
101
- QPalette.ColorRole.HighlightedText,
102
- disabledColor,
103
- )
104
- darkPalette.setColor(
105
- QPalette.ColorGroup.Disabled,
106
- QPalette.ColorRole.Text,
107
- disabledColor,
108
- )
109
-
110
- self.setPalette(darkPalette)
111
- else:
112
- palette = self.style().standardPalette()
113
- self.setPalette(palette)
114
-
115
69
  def load_pref(self) -> None:
116
70
  """
117
71
  Load preference file to get current db filename and sets the initial darkmode state.
@@ -136,7 +90,6 @@ class RateWindow(QDockWidget):
136
90
 
137
91
  except (IOError, JSONDecodeError) as exception:
138
92
  logger.critical("Error: %s", exception)
139
- self.setDarkMode(self.pref.get("darkmode", False))
140
93
 
141
94
  def get_run_and_total_qs(self):
142
95
  """get numbers"""
@@ -222,7 +175,6 @@ class RateWindow(QDockWidget):
222
175
  sandp = result.get("totalqs", 0) - result.get("runs", 0)
223
176
  self.run_qso.setText(f"{result.get('runs', 0)}")
224
177
  self.sandp_qso.setText(f"{sandp}")
225
- self.qso_counts.setText(f"{result.get('totalqs', 0)} pts")
226
178
  except TypeError:
227
179
  ...
228
180
 
@@ -235,32 +187,3 @@ class RateWindow(QDockWidget):
235
187
  self.hour_sandp_qso.setText(f"{sandp}")
236
188
  except TypeError:
237
189
  ...
238
-
239
- def hide_unused(self):
240
- self.line.hide()
241
- self.label_10.hide()
242
- self.time_on.hide()
243
- self.label_12.hide()
244
- self.time_off.hide()
245
-
246
- self.band_mode.hide()
247
- self.label_23.hide()
248
- self.avg_km.hide()
249
- self.label_25.hide()
250
- self.avg_pts.hide()
251
- self.best_dx.hide()
252
- self.label_26.hide()
253
-
254
- self.line_5.hide()
255
- self.label_29.hide()
256
- self.label_30.hide()
257
- self.time_by_mult.hide()
258
- self.label_32.hide()
259
- self.qso_counts.hide()
260
- self.label_34.hide()
261
- self.mult_counts.hide()
262
- self.label_35.hide()
263
- self.mult_worth.hide()
264
-
265
- self.line_6.hide()
266
- self.label_38.hide()
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.1
4
4
  Summary: NOT1MM Logger
5
5
  Author-email: Michael Bridak <michael.bridak@gmail.com>
6
6
  License: GPL-3.0-or-later
@@ -247,24 +247,7 @@ 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-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
251
 
269
252
  See [CHANGELOG.md](CHANGELOG.md) for prior changes.
270
253
 
@@ -1,16 +1,16 @@
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=vYGOkgTHAEbj7TIpcR5LN0FlDwYEtHXvDX-6BMZvXSc,152460
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
16
  not1mm/data/MASTER.SCP,sha256=FWKs4Xw3w7FNUt2npA6VzsLME7NAbHRugxaL6TnsvzU,364234
@@ -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=SlPmy6v7tRE2kV-KWMQ5GLgd7q-HB6NX0B5FCNUG79E,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.1.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
177
+ not1mm-25.4.1.dist-info/METADATA,sha256=I4pMQnVAjFNttGzXL0DMDFMtBOhHrzGu1Nd28htpv_g,36867
178
+ not1mm-25.4.1.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
179
+ not1mm-25.4.1.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
180
+ not1mm-25.4.1.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
181
+ not1mm-25.4.1.dist-info/RECORD,,