not1mm 24.3.24__tar.gz → 24.3.25.1__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 (161) hide show
  1. {not1mm-24.3.24 → not1mm-24.3.25.1}/PKG-INFO +4 -1
  2. {not1mm-24.3.24 → not1mm-24.3.25.1}/README.md +3 -0
  3. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/__main__.py +56 -6
  4. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/bandmap.py +47 -10
  5. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/checkwindow.py +2 -2
  6. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/bandmap.ui +15 -3
  7. not1mm-24.3.25.1/not1mm/data/checkwindow.ui +119 -0
  8. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/logwindow.ui +29 -9
  9. not1mm-24.3.25.1/not1mm/lib/version.py +3 -0
  10. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/logwindow.py +2 -4
  11. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/vfo.py +2 -2
  12. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm.egg-info/PKG-INFO +4 -1
  13. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm.egg-info/SOURCES.txt +0 -6
  14. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm.egg-info/top_level.txt +0 -2
  15. {not1mm-24.3.24 → not1mm-24.3.25.1}/pyproject.toml +3 -1
  16. not1mm-24.3.24/not1mm/data/checkwindow.ui +0 -96
  17. not1mm-24.3.24/not1mm/lib/version.py +0 -3
  18. not1mm-24.3.24/not1mm/testing/fakeflrig.py +0 -88
  19. not1mm-24.3.24/not1mm/testing/flrigclient.py +0 -54
  20. not1mm-24.3.24/not1mm/testing/multicast_listener.py +0 -46
  21. not1mm-24.3.24/not1mm/testing/n1mm_listener.py +0 -47
  22. not1mm-24.3.24/not1mm/testing/simulant.py +0 -384
  23. not1mm-24.3.24/not1mm/testing/test.py +0 -8
  24. {not1mm-24.3.24 → not1mm-24.3.25.1}/LICENSE +0 -0
  25. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/__init__.py +0 -0
  26. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/JetBrainsMono-Regular.ttf +0 -0
  27. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/MASTER.SCP +0 -0
  28. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/about.ui +0 -0
  29. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/alpha bravo charlie delta.txt +0 -0
  30. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/check.png +0 -0
  31. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/configuration.ui +0 -0
  32. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/contests.sql +0 -0
  33. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/cty.json +0 -0
  34. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/cwmacros.txt +0 -0
  35. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/donors.html +0 -0
  36. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/editcontact.ui +0 -0
  37. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/editmacro.ui +0 -0
  38. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/greendot.png +0 -0
  39. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/k6gte-not1mm.desktop +0 -0
  40. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/k6gte.not1mm-128.png +0 -0
  41. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/k6gte.not1mm-32.png +0 -0
  42. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/k6gte.not1mm-64.png +0 -0
  43. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/main.ui +0 -0
  44. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/new_contest.ui +0 -0
  45. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/not1mm.html +0 -0
  46. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/opon.ui +0 -0
  47. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/0.wav +0 -0
  48. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/1.wav +0 -0
  49. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/2.wav +0 -0
  50. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/3.wav +0 -0
  51. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/4.wav +0 -0
  52. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/5.wav +0 -0
  53. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/6.wav +0 -0
  54. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/7.wav +0 -0
  55. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/73.wav +0 -0
  56. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/8.wav +0 -0
  57. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/9.wav +0 -0
  58. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/a.wav +0 -0
  59. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/again.wav +0 -0
  60. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/b.wav +0 -0
  61. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/c.wav +0 -0
  62. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/contest.wav +0 -0
  63. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/cq.wav +0 -0
  64. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/d.wav +0 -0
  65. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/e.wav +0 -0
  66. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/f.wav +0 -0
  67. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/g.wav +0 -0
  68. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/h.wav +0 -0
  69. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/i.wav +0 -0
  70. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/j.wav +0 -0
  71. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/k.wav +0 -0
  72. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/k6gte.wav +0 -0
  73. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/l.wav +0 -0
  74. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/m.wav +0 -0
  75. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/mynumber.wav +0 -0
  76. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/n.wav +0 -0
  77. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/nil.wav +0 -0
  78. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/o.wav +0 -0
  79. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/p.wav +0 -0
  80. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/q.wav +0 -0
  81. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/r.wav +0 -0
  82. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/roger.wav +0 -0
  83. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/s.wav +0 -0
  84. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/space.wav +0 -0
  85. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/t.wav +0 -0
  86. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/thankyou.wav +0 -0
  87. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
  88. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/u.wav +0 -0
  89. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/v.wav +0 -0
  90. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/w.wav +0 -0
  91. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/x.wav +0 -0
  92. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/y.wav +0 -0
  93. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/yourcall.wav +0 -0
  94. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/phonetics/z.wav +0 -0
  95. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/pickcontest.ui +0 -0
  96. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/radio_green.png +0 -0
  97. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/radio_grey.png +0 -0
  98. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/radio_red.png +0 -0
  99. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/reddot.png +0 -0
  100. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/settings.ui +0 -0
  101. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/ssbmacros.txt +0 -0
  102. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/data/vfo.ui +0 -0
  103. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/fsutils.py +0 -0
  104. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/lib/__init__.py +0 -0
  105. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/lib/about.py +0 -0
  106. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/lib/cat_interface.py +0 -0
  107. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/lib/cwinterface.py +0 -0
  108. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/lib/database.py +0 -0
  109. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/lib/edit_contact.py +0 -0
  110. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/lib/edit_macro.py +0 -0
  111. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/lib/edit_opon.py +0 -0
  112. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/lib/edit_station.py +0 -0
  113. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/lib/ham_utility.py +0 -0
  114. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/lib/lookup.py +0 -0
  115. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/lib/multicast.py +0 -0
  116. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/lib/n1mm.py +0 -0
  117. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/lib/new_contest.py +0 -0
  118. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/lib/plugin_common.py +0 -0
  119. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/lib/select_contest.py +0 -0
  120. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/lib/settings.py +0 -0
  121. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/lib/super_check_partial.py +0 -0
  122. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/lib/versiontest.py +0 -0
  123. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/10_10_fall_cw.py +0 -0
  124. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/10_10_spring_cw.py +0 -0
  125. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/10_10_summer_phone.py +0 -0
  126. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/10_10_winter_phone.py +0 -0
  127. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/__init__.py +0 -0
  128. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/arrl_10m.py +0 -0
  129. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/arrl_dx_cw.py +0 -0
  130. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/arrl_dx_ssb.py +0 -0
  131. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/arrl_field_day.py +0 -0
  132. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/arrl_rtty_ru.py +0 -0
  133. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/arrl_ss_cw.py +0 -0
  134. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/arrl_ss_phone.py +0 -0
  135. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/arrl_vhf_jan.py +0 -0
  136. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/arrl_vhf_jun.py +0 -0
  137. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/arrl_vhf_sep.py +0 -0
  138. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/canada_day.py +0 -0
  139. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/cq_160_cw.py +0 -0
  140. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/cq_160_ssb.py +0 -0
  141. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/cq_wpx_cw.py +0 -0
  142. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/cq_wpx_ssb.py +0 -0
  143. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/cq_ww_cw.py +0 -0
  144. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/cq_ww_ssb.py +0 -0
  145. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/cwt.py +0 -0
  146. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/general_logging.py +0 -0
  147. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/iaru_hf.py +0 -0
  148. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/jidx_cw.py +0 -0
  149. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/jidx_ph.py +0 -0
  150. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/naqp_cw.py +0 -0
  151. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/naqp_ssb.py +0 -0
  152. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/phone_weekly_test.py +0 -0
  153. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/stew_perry_topband.py +0 -0
  154. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm/plugins/winter_field_day.py +0 -0
  155. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm.egg-info/dependency_links.txt +0 -0
  156. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm.egg-info/entry_points.txt +0 -0
  157. {not1mm-24.3.24 → not1mm-24.3.25.1}/not1mm.egg-info/requires.txt +0 -0
  158. {not1mm-24.3.24 → not1mm-24.3.25.1}/setup.cfg +0 -0
  159. {not1mm-24.3.24 → not1mm-24.3.25.1}/testing/detectdark.py +0 -0
  160. {not1mm-24.3.24 → not1mm-24.3.25.1}/testing/test.py +0 -0
  161. {not1mm-24.3.24 → not1mm-24.3.25.1}/usb_vfo_knob/code.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.3.24
3
+ Version: 24.3.25.1
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
@@ -167,6 +167,9 @@ I wish to thank those who've contributed to the project.
167
167
 
168
168
  ## Recent Changes
169
169
 
170
+ - [24-3-25-1] Dark mode sorted out. Atleast for me...
171
+ - [24-3-25] Yanked version 24-3-24-1. Fixed widget focus issues.
172
+ - [24-3-24-1] Killed an SQL query bug causing crash when pressing arrow down.
170
173
  - [24-3-24] Reworked fsutil.py to correct directory paths for Linux.
171
174
  - [24-3-23] Yanked version 24-3-21, too many bugs for existing userbase.
172
175
  - [24-3-21] Merged PR from @kyleboyle for docking windows. MacOS and Windows support.
@@ -136,6 +136,9 @@ I wish to thank those who've contributed to the project.
136
136
 
137
137
  ## Recent Changes
138
138
 
139
+ - [24-3-25-1] Dark mode sorted out. Atleast for me...
140
+ - [24-3-25] Yanked version 24-3-24-1. Fixed widget focus issues.
141
+ - [24-3-24-1] Killed an SQL query bug causing crash when pressing arrow down.
139
142
  - [24-3-24] Reworked fsutil.py to correct directory paths for Linux.
140
143
  - [24-3-23] Yanked version 24-3-21, too many bugs for existing userbase.
141
144
  - [24-3-21] Merged PR from @kyleboyle for docking windows. MacOS and Windows support.
@@ -501,12 +501,11 @@ class MainWindow(QtWidgets.QMainWindow):
501
501
 
502
502
  if dark:
503
503
  darkPalette = QtGui.QPalette()
504
- darkColor = QtGui.QColor(45, 45, 45)
505
-
504
+ darkColor = QtGui.QColor(56, 56, 56)
506
505
  disabledColor = QtGui.QColor(127, 127, 127)
507
506
  darkPalette.setColor(QtGui.QPalette.Window, darkColor)
508
507
  darkPalette.setColor(QtGui.QPalette.WindowText, Qt.white)
509
- darkPalette.setColor(QtGui.QPalette.Base, QtGui.QColor(18, 18, 18))
508
+ darkPalette.setColor(QtGui.QPalette.Base, QtGui.QColor(45, 45, 45))
510
509
  darkPalette.setColor(QtGui.QPalette.AlternateBase, darkColor)
511
510
  darkPalette.setColor(QtGui.QPalette.Text, Qt.white)
512
511
  darkPalette.setColor(
@@ -524,6 +523,21 @@ class MainWindow(QtWidgets.QMainWindow):
524
523
  darkPalette.setColor(
525
524
  QtGui.QPalette.Disabled, QtGui.QPalette.HighlightedText, disabledColor
526
525
  )
526
+ dark_button_style = (
527
+ "QPushButton {"
528
+ "background-color: rgb(56,56,56);"
529
+ "color: white;"
530
+ "border-style: outset;"
531
+ "border-width: 2px;"
532
+ "border-radius: 5px;"
533
+ "border-color: rgb(45,45,45);"
534
+ "padding: 6px;"
535
+ "}"
536
+ "QPushButton:pressed {"
537
+ "background-color: rgb(127, 127, 127);"
538
+ "border-style: inset;"
539
+ "}"
540
+ )
527
541
  self.current_palette = darkPalette
528
542
  self.setPalette(darkPalette)
529
543
  self.text_color = Qt.white
@@ -538,7 +552,18 @@ class MainWindow(QtWidgets.QMainWindow):
538
552
  self.other_1.setPalette(darkPalette)
539
553
  self.other_2.setPalette(darkPalette)
540
554
  self.cw_entry.setPalette(darkPalette)
541
-
555
+ self.F1.setStyleSheet(dark_button_style)
556
+ self.F2.setStyleSheet(dark_button_style)
557
+ self.F3.setStyleSheet(dark_button_style)
558
+ self.F4.setStyleSheet(dark_button_style)
559
+ self.F5.setStyleSheet(dark_button_style)
560
+ self.F6.setStyleSheet(dark_button_style)
561
+ self.F7.setStyleSheet(dark_button_style)
562
+ self.F8.setStyleSheet(dark_button_style)
563
+ self.F9.setStyleSheet(dark_button_style)
564
+ self.F10.setStyleSheet(dark_button_style)
565
+ self.F11.setStyleSheet(dark_button_style)
566
+ self.F12.setStyleSheet(dark_button_style)
542
567
  else:
543
568
  palette = self.style().standardPalette()
544
569
  self.current_palette = palette
@@ -555,6 +580,33 @@ class MainWindow(QtWidgets.QMainWindow):
555
580
  self.other_2.setPalette(palette)
556
581
  self.cw_entry.setPalette(palette)
557
582
  self.text_color = Qt.black
583
+ light_button_style = (
584
+ "QPushButton {"
585
+ "background-color: rgb(245,245,245);"
586
+ "color: rgb(52,52,52);"
587
+ "border-style: outset;"
588
+ "border-width: 2px;"
589
+ "border-radius: 5px;"
590
+ "border-color: rgb(150,150,150);"
591
+ "padding: 6px;"
592
+ "}"
593
+ "QPushButton:pressed {"
594
+ "background-color: rgb(127, 127, 127);"
595
+ "border-style: inset;"
596
+ "}"
597
+ )
598
+ self.F1.setStyleSheet(light_button_style)
599
+ self.F2.setStyleSheet(light_button_style)
600
+ self.F3.setStyleSheet(light_button_style)
601
+ self.F4.setStyleSheet(light_button_style)
602
+ self.F5.setStyleSheet(light_button_style)
603
+ self.F6.setStyleSheet(light_button_style)
604
+ self.F7.setStyleSheet(light_button_style)
605
+ self.F8.setStyleSheet(light_button_style)
606
+ self.F9.setStyleSheet(light_button_style)
607
+ self.F10.setStyleSheet(light_button_style)
608
+ self.F11.setStyleSheet(light_button_style)
609
+ self.F12.setStyleSheet(light_button_style)
558
610
 
559
611
  def set_radio_icon(self, state: int) -> None:
560
612
  """
@@ -3270,9 +3322,7 @@ logging.basicConfig(
3270
3322
  )
3271
3323
  logging.getLogger("PyQt5.uic.uiparser").setLevel("INFO")
3272
3324
  logging.getLogger("PyQt5.uic.properties").setLevel("INFO")
3273
- os.environ["QT_QPA_PLATFORMTHEME"] = "gnome"
3274
3325
  app = QtWidgets.QApplication(sys.argv)
3275
-
3276
3326
  families = load_fonts_from_dir(os.fspath(fsutils.APP_DATA_PATH))
3277
3327
  logger.info(f"font families {families}")
3278
3328
  window = MainWindow()
@@ -231,10 +231,9 @@ class Database:
231
231
  -------
232
232
  A dict of the spot.
233
233
  """
234
-
235
234
  self.cursor.execute(
236
235
  "select * from spots where freq > ? and freq <= ? order by freq ASC;",
237
- ({current}, limit),
236
+ (current, limit),
238
237
  )
239
238
  return self.cursor.fetchone()
240
239
 
@@ -370,12 +369,12 @@ class BandMapWindow(QtWidgets.QDockWidget):
370
369
 
371
370
  if setdarkmode:
372
371
  darkPalette = QtGui.QPalette()
373
- darkColor = QtGui.QColor(45, 45, 45)
372
+ darkColor = QtGui.QColor(56, 56, 56)
374
373
  self.text_color = Qt.white
375
374
  disabledColor = QtGui.QColor(127, 127, 127)
376
375
  darkPalette.setColor(QtGui.QPalette.Window, darkColor)
377
376
  darkPalette.setColor(QtGui.QPalette.WindowText, Qt.white)
378
- darkPalette.setColor(QtGui.QPalette.Base, QtGui.QColor(18, 18, 18))
377
+ darkPalette.setColor(QtGui.QPalette.Base, QtGui.QColor(45, 45, 45))
379
378
  darkPalette.setColor(QtGui.QPalette.AlternateBase, darkColor)
380
379
  darkPalette.setColor(QtGui.QPalette.Text, Qt.white)
381
380
  darkPalette.setColor(
@@ -397,12 +396,50 @@ class BandMapWindow(QtWidgets.QDockWidget):
397
396
  self.setPalette(darkPalette)
398
397
  self.callsignField.setPalette(darkPalette)
399
398
  self.update()
399
+ dark_button_style = (
400
+ "QPushButton {"
401
+ "background-color: rgb(56,56,56);"
402
+ "color: white;"
403
+ "border-style: outset;"
404
+ "border-width: 2px;"
405
+ "border-radius: 5px;"
406
+ "border-color: rgb(45,45,45);"
407
+ "padding: 6px;"
408
+ "}"
409
+ "QPushButton:pressed {"
410
+ "background-color: rgb(127, 127, 127);"
411
+ "border-style: inset;"
412
+ "}"
413
+ )
414
+ self.connectButton.setStyleSheet(dark_button_style)
415
+ self.clearButton.setStyleSheet(dark_button_style)
416
+ self.zoominButton.setStyleSheet(dark_button_style)
417
+ self.zoomoutButton.setStyleSheet(dark_button_style)
400
418
  else:
401
419
  palette = self.style().standardPalette()
402
420
  self.setPalette(palette)
403
421
  self.callsignField.setPalette(palette)
404
422
  self.text_color = Qt.black
405
423
  self.update()
424
+ light_button_style = (
425
+ "QPushButton {"
426
+ "background-color: rgb(245,245,245);"
427
+ "color: rgb(52,52,52);"
428
+ "border-style: outset;"
429
+ "border-width: 2px;"
430
+ "border-radius: 5px;"
431
+ "border-color: rgb(150,150,150);"
432
+ "padding: 6px;"
433
+ "}"
434
+ "QPushButton:pressed {"
435
+ "background-color: rgb(127, 127, 127);"
436
+ "border-style: inset;"
437
+ "}"
438
+ )
439
+ self.connectButton.setStyleSheet(light_button_style)
440
+ self.clearButton.setStyleSheet(light_button_style)
441
+ self.zoominButton.setStyleSheet(light_button_style)
442
+ self.zoomoutButton.setStyleSheet(light_button_style)
406
443
 
407
444
  def connect(self):
408
445
  """Connect to the cluster."""
@@ -418,7 +455,7 @@ class BandMapWindow(QtWidgets.QDockWidget):
418
455
  port = self.settings.get("cluster_port", 7373)
419
456
  logger.info(f"connecting to dx cluster {server} {port}")
420
457
  self.socket.connectToHost(server, port)
421
- self.connectButton.setStyleSheet("color: white;")
458
+ # self.connectButton.setStyleSheet("color: white;")
422
459
  self.connectButton.setText("Connecting")
423
460
  self.connected = True
424
461
 
@@ -530,7 +567,7 @@ class BandMapWindow(QtWidgets.QDockWidget):
530
567
  if packet.get("cmd", "") == "CONTESTSTATUS":
531
568
  if not self.callsignField.text():
532
569
  self.callsignField.setText(packet.get("operator", "").upper())
533
- self.callsignField.selectAll()
570
+ # self.callsignField.selectAll()
534
571
  continue
535
572
  if packet.get("cmd", "") == "DARKMODE":
536
573
  self.setDarkMode(packet.get("state", False))
@@ -855,13 +892,13 @@ class BandMapWindow(QtWidgets.QDockWidget):
855
892
  logger.debug(f"couldn't parse freq from datablock {data}")
856
893
  return
857
894
  if self.callsignField.text().upper() in data:
858
- self.connectButton.setStyleSheet("color: green;")
895
+ # self.connectButton.setStyleSheet("color: green;")
859
896
  self.connectButton.setText("Connected")
860
897
  logger.debug(f"callsign login acknowledged {data}")
861
898
 
862
899
  def maybeconnected(self) -> None:
863
900
  """Update visual state of the connect button."""
864
- self.connectButton.setStyleSheet("color: yellow;")
901
+ # self.connectButton.setStyleSheet("color: yellow;")
865
902
  self.connectButton.setText("Connecting")
866
903
 
867
904
  def socket_error(self) -> None:
@@ -871,7 +908,7 @@ class BandMapWindow(QtWidgets.QDockWidget):
871
908
  def disconnected(self) -> None:
872
909
  """Called when socket is disconnected."""
873
910
  self.connected = False
874
- self.connectButton.setStyleSheet("color: red;")
911
+ # self.connectButton.setStyleSheet("color: red;")
875
912
  self.connectButton.setText("Closed")
876
913
 
877
914
  def send_command(self, cmd: str) -> None:
@@ -900,7 +937,7 @@ class BandMapWindow(QtWidgets.QDockWidget):
900
937
  logger.info("Closing dx cluster connection")
901
938
  self.socket.close()
902
939
  self.connected = False
903
- self.connectButton.setStyleSheet("color: red;")
940
+ # self.connectButton.setStyleSheet("color: red;")
904
941
  self.connectButton.setText("Closed")
905
942
 
906
943
  def closeEvent(self, _event: QtGui.QCloseEvent) -> None:
@@ -63,11 +63,11 @@ class CheckWindow(QWidget):
63
63
 
64
64
  if dark:
65
65
  darkPalette = QtGui.QPalette()
66
- darkColor = QtGui.QColor(45, 45, 45)
66
+ darkColor = QtGui.QColor(56, 56, 56)
67
67
  disabledColor = QtGui.QColor(127, 127, 127)
68
68
  darkPalette.setColor(QtGui.QPalette.Window, darkColor)
69
69
  darkPalette.setColor(QtGui.QPalette.WindowText, Qt.white)
70
- darkPalette.setColor(QtGui.QPalette.Base, QtGui.QColor(18, 18, 18))
70
+ darkPalette.setColor(QtGui.QPalette.Base, QtGui.QColor(45, 45, 45))
71
71
  darkPalette.setColor(QtGui.QPalette.AlternateBase, darkColor)
72
72
  darkPalette.setColor(QtGui.QPalette.Text, Qt.white)
73
73
  darkPalette.setColor(
@@ -18,7 +18,7 @@
18
18
  <property name="windowTitle">
19
19
  <string>BandMap</string>
20
20
  </property>
21
- <widget class="QWidget">
21
+ <widget class="QWidget" name="widget">
22
22
  <layout class="QVBoxLayout" name="verticalLayout_2">
23
23
  <property name="spacing">
24
24
  <number>6</number>
@@ -46,6 +46,9 @@
46
46
  </item>
47
47
  <item>
48
48
  <widget class="QLineEdit" name="callsignField">
49
+ <property name="focusPolicy">
50
+ <enum>Qt::ClickFocus</enum>
51
+ </property>
49
52
  <property name="accessibleName">
50
53
  <string>callsign</string>
51
54
  </property>
@@ -59,6 +62,9 @@
59
62
  </item>
60
63
  <item>
61
64
  <widget class="QPushButton" name="connectButton">
65
+ <property name="focusPolicy">
66
+ <enum>Qt::NoFocus</enum>
67
+ </property>
62
68
  <property name="accessibleName">
63
69
  <string>connect</string>
64
70
  </property>
@@ -80,6 +86,9 @@
80
86
  <pointsize>9</pointsize>
81
87
  </font>
82
88
  </property>
89
+ <property name="focusPolicy">
90
+ <enum>Qt::NoFocus</enum>
91
+ </property>
83
92
  <property name="widgetResizable">
84
93
  <bool>true</bool>
85
94
  </property>
@@ -88,8 +97,8 @@
88
97
  <rect>
89
98
  <x>0</x>
90
99
  <y>0</y>
91
- <width>367</width>
92
- <height>546</height>
100
+ <width>359</width>
101
+ <height>512</height>
93
102
  </rect>
94
103
  </property>
95
104
  <property name="font">
@@ -212,6 +221,9 @@
212
221
  </item>
213
222
  <item>
214
223
  <widget class="QSpinBox" name="clear_spot_olderSpinBox">
224
+ <property name="focusPolicy">
225
+ <enum>Qt::NoFocus</enum>
226
+ </property>
215
227
  <property name="accessibleName">
216
228
  <string>clear spots older than</string>
217
229
  </property>
@@ -0,0 +1,119 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ui version="4.0">
3
+ <class>CheckWindow</class>
4
+ <widget class="QWidget" name="CheckWindow">
5
+ <property name="geometry">
6
+ <rect>
7
+ <x>0</x>
8
+ <y>0</y>
9
+ <width>310</width>
10
+ <height>600</height>
11
+ </rect>
12
+ </property>
13
+ <property name="font">
14
+ <font>
15
+ <family>JetBrains Mono</family>
16
+ <pointsize>12</pointsize>
17
+ </font>
18
+ </property>
19
+ <property name="windowTitle">
20
+ <string>Check Partial</string>
21
+ </property>
22
+ <layout class="QGridLayout" name="gridLayout">
23
+ <property name="leftMargin">
24
+ <number>2</number>
25
+ </property>
26
+ <property name="topMargin">
27
+ <number>2</number>
28
+ </property>
29
+ <property name="rightMargin">
30
+ <number>2</number>
31
+ </property>
32
+ <property name="bottomMargin">
33
+ <number>2</number>
34
+ </property>
35
+ <item row="1" column="1">
36
+ <widget class="QListWidget" name="masterList">
37
+ <property name="focusPolicy">
38
+ <enum>Qt::NoFocus</enum>
39
+ </property>
40
+ </widget>
41
+ </item>
42
+ <item row="1" column="3">
43
+ <widget class="QListWidget" name="callhistoryList">
44
+ <property name="focusPolicy">
45
+ <enum>Qt::NoFocus</enum>
46
+ </property>
47
+ </widget>
48
+ </item>
49
+ <item row="1" column="2">
50
+ <widget class="QListWidget" name="telnetList">
51
+ <property name="focusPolicy">
52
+ <enum>Qt::NoFocus</enum>
53
+ </property>
54
+ </widget>
55
+ </item>
56
+ <item row="1" column="0">
57
+ <widget class="QListWidget" name="logList">
58
+ <property name="focusPolicy">
59
+ <enum>Qt::NoFocus</enum>
60
+ </property>
61
+ </widget>
62
+ </item>
63
+ <item row="0" column="0">
64
+ <widget class="QLabel" name="logListLabel">
65
+ <property name="font">
66
+ <font>
67
+ <family>JetBrains Mono</family>
68
+ <pointsize>10</pointsize>
69
+ </font>
70
+ </property>
71
+ <property name="text">
72
+ <string>Log</string>
73
+ </property>
74
+ </widget>
75
+ </item>
76
+ <item row="0" column="1">
77
+ <widget class="QLabel" name="masterListLabel">
78
+ <property name="font">
79
+ <font>
80
+ <family>JetBrains Mono</family>
81
+ <pointsize>10</pointsize>
82
+ </font>
83
+ </property>
84
+ <property name="text">
85
+ <string>Master</string>
86
+ </property>
87
+ </widget>
88
+ </item>
89
+ <item row="0" column="2">
90
+ <widget class="QLabel" name="telnetListLabel">
91
+ <property name="font">
92
+ <font>
93
+ <family>JetBrains Mono</family>
94
+ <pointsize>10</pointsize>
95
+ </font>
96
+ </property>
97
+ <property name="text">
98
+ <string>Telnet</string>
99
+ </property>
100
+ </widget>
101
+ </item>
102
+ <item row="0" column="3">
103
+ <widget class="QLabel" name="callhistoryListLabel">
104
+ <property name="font">
105
+ <font>
106
+ <family>JetBrains Mono</family>
107
+ <pointsize>10</pointsize>
108
+ </font>
109
+ </property>
110
+ <property name="text">
111
+ <string>Call</string>
112
+ </property>
113
+ </widget>
114
+ </item>
115
+ </layout>
116
+ </widget>
117
+ <resources/>
118
+ <connections/>
119
+ </ui>
@@ -14,21 +14,35 @@
14
14
  <string>QSO Logs</string>
15
15
  </property>
16
16
  <layout class="QVBoxLayout" name="verticalLayout">
17
- <property name="bottomMargin"><number>2</number></property>
18
- <property name="topMargin"><number>2</number></property>
19
- <property name="leftMargin"><number>2</number></property>
20
- <property name="rightMargin"><number>2</number></property>
17
+ <property name="leftMargin">
18
+ <number>2</number>
19
+ </property>
20
+ <property name="topMargin">
21
+ <number>2</number>
22
+ </property>
23
+ <property name="rightMargin">
24
+ <number>2</number>
25
+ </property>
26
+ <property name="bottomMargin">
27
+ <number>2</number>
28
+ </property>
21
29
  <item>
22
- <widget class="QSplitter" name="splitter">
23
- <property name="orientation">
24
- <enum>Qt::Vertical</enum>
25
- </property>
30
+ <widget class="QSplitter" name="splitter">
31
+ <property name="orientation">
32
+ <enum>Qt::Vertical</enum>
33
+ </property>
26
34
  <widget class="QTableWidget" name="generalLog">
27
35
  <property name="font">
28
36
  <font>
29
37
  <family>JetBrains Mono</family>
30
38
  </font>
31
39
  </property>
40
+ <property name="focusPolicy">
41
+ <enum>Qt::NoFocus</enum>
42
+ </property>
43
+ <property name="tabKeyNavigation">
44
+ <bool>false</bool>
45
+ </property>
32
46
  </widget>
33
47
  <widget class="QTableWidget" name="focusedLog">
34
48
  <property name="font">
@@ -36,8 +50,14 @@
36
50
  <family>JetBrains Mono</family>
37
51
  </font>
38
52
  </property>
53
+ <property name="focusPolicy">
54
+ <enum>Qt::NoFocus</enum>
55
+ </property>
56
+ <property name="tabKeyNavigation">
57
+ <bool>false</bool>
58
+ </property>
39
59
  </widget>
40
- </widget>
60
+ </widget>
41
61
  </item>
42
62
  </layout>
43
63
  </widget>
@@ -0,0 +1,3 @@
1
+ """It's the version"""
2
+
3
+ __version__ = "24.3.25.1"
@@ -25,8 +25,6 @@ from not1mm.lib.n1mm import N1MM
25
25
 
26
26
  logger = logging.getLogger(__name__)
27
27
 
28
- # os.environ["QT_QPA_PLATFORMTHEME"] = "gnome"
29
-
30
28
 
31
29
  def safe_float(the_input: any, default=0.0) -> float:
32
30
  """
@@ -168,11 +166,11 @@ class LogWindow(QtWidgets.QWidget):
168
166
 
169
167
  if dark:
170
168
  dark_palette = QtGui.QPalette()
171
- dark_color = QtGui.QColor(45, 45, 45)
169
+ dark_color = QtGui.QColor(56, 56, 56)
172
170
  disabled_color = QtGui.QColor(127, 127, 127)
173
171
  dark_palette.setColor(QtGui.QPalette.Window, dark_color)
174
172
  dark_palette.setColor(QtGui.QPalette.WindowText, Qt.white)
175
- dark_palette.setColor(QtGui.QPalette.Base, QtGui.QColor(18, 18, 18))
173
+ dark_palette.setColor(QtGui.QPalette.Base, QtGui.QColor(45, 45, 45))
176
174
  dark_palette.setColor(QtGui.QPalette.AlternateBase, dark_color)
177
175
  dark_palette.setColor(QtGui.QPalette.Text, Qt.white)
178
176
  dark_palette.setColor(
@@ -65,11 +65,11 @@ class VfoWindow(QWidget):
65
65
 
66
66
  if dark:
67
67
  darkPalette = QtGui.QPalette()
68
- darkColor = QtGui.QColor(45, 45, 45)
68
+ darkColor = QtGui.QColor(56, 56, 56)
69
69
  disabledColor = QtGui.QColor(127, 127, 127)
70
70
  darkPalette.setColor(QtGui.QPalette.Window, darkColor)
71
71
  darkPalette.setColor(QtGui.QPalette.WindowText, Qt.white)
72
- darkPalette.setColor(QtGui.QPalette.Base, QtGui.QColor(18, 18, 18))
72
+ darkPalette.setColor(QtGui.QPalette.Base, QtGui.QColor(45, 45, 45))
73
73
  darkPalette.setColor(QtGui.QPalette.AlternateBase, darkColor)
74
74
  darkPalette.setColor(QtGui.QPalette.Text, Qt.white)
75
75
  darkPalette.setColor(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.3.24
3
+ Version: 24.3.25.1
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
@@ -167,6 +167,9 @@ I wish to thank those who've contributed to the project.
167
167
 
168
168
  ## Recent Changes
169
169
 
170
+ - [24-3-25-1] Dark mode sorted out. Atleast for me...
171
+ - [24-3-25] Yanked version 24-3-24-1. Fixed widget focus issues.
172
+ - [24-3-24-1] Killed an SQL query bug causing crash when pressing arrow down.
170
173
  - [24-3-24] Reworked fsutil.py to correct directory paths for Linux.
171
174
  - [24-3-23] Yanked version 24-3-21, too many bugs for existing userbase.
172
175
  - [24-3-21] Merged PR from @kyleboyle for docking windows. MacOS and Windows support.
@@ -146,12 +146,6 @@ not1mm/plugins/naqp_ssb.py
146
146
  not1mm/plugins/phone_weekly_test.py
147
147
  not1mm/plugins/stew_perry_topband.py
148
148
  not1mm/plugins/winter_field_day.py
149
- not1mm/testing/fakeflrig.py
150
- not1mm/testing/flrigclient.py
151
- not1mm/testing/multicast_listener.py
152
- not1mm/testing/n1mm_listener.py
153
- not1mm/testing/simulant.py
154
- not1mm/testing/test.py
155
149
  testing/detectdark.py
156
150
  testing/test.py
157
151
  usb_vfo_knob/code.py
@@ -2,5 +2,3 @@ dist
2
2
  not1mm
3
3
  pic
4
4
  research
5
- testing
6
- usb_vfo_knob
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "not1mm"
7
- version = "24.3.24"
7
+ version = "24.3.25.1"
8
8
  description = "NOT1MM Logger"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -43,6 +43,8 @@ classifiers = [
43
43
  [tool.setuptools.packages.find]
44
44
  where = ["."]
45
45
 
46
+ exclude = ["not1mm.testing*", "not1mm.not1mm.testing*", "testing*", "usb_vfo_knob*",]
47
+
46
48
  [tool.setuptools.package-data]
47
49
  "not1mm.data" = ["*.json", "*.txt", "*.SCP", "*.ui", "*.ttf", "*.desktop", "*.png", "*.qss", "*.sql", "*.html",]
48
50
  "not1mm.data.phonetics" = ["*.wav",]