not1mm 25.3.26__py3-none-any.whl → 25.3.27.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 +26 -10
- not1mm/data/main.ui +3 -1
- not1mm/lib/version.py +1 -1
- not1mm/statistics.py +2 -2
- {not1mm-25.3.26.dist-info → not1mm-25.3.27.1.dist-info}/METADATA +3 -1
- {not1mm-25.3.26.dist-info → not1mm-25.3.27.1.dist-info}/RECORD +10 -10
- {not1mm-25.3.26.dist-info → not1mm-25.3.27.1.dist-info}/WHEEL +0 -0
- {not1mm-25.3.26.dist-info → not1mm-25.3.27.1.dist-info}/entry_points.txt +0 -0
- {not1mm-25.3.26.dist-info → not1mm-25.3.27.1.dist-info}/licenses/LICENSE +0 -0
- {not1mm-25.3.26.dist-info → not1mm-25.3.27.1.dist-info}/top_level.txt +0 -0
not1mm/__main__.py
CHANGED
@@ -212,6 +212,11 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
212
212
|
uic.loadUi(fsutils.APP_DATA_PATH / "main.ui", self)
|
213
213
|
self.history_info.hide()
|
214
214
|
QApplication.instance().focusObjectChanged.connect(self.on_focus_changed)
|
215
|
+
QApplication.instance().styleHints().colorSchemeChanged.connect(
|
216
|
+
self.dark_watcher
|
217
|
+
)
|
218
|
+
self.dark_watcher(QApplication.instance().styleHints().colorScheme())
|
219
|
+
|
215
220
|
self.inputs_dict = {
|
216
221
|
self.callsign: "callsign",
|
217
222
|
self.sent: "sent",
|
@@ -235,7 +240,8 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
235
240
|
self.cw_entry.returnPressed.connect(self.toggle_cw_entry)
|
236
241
|
|
237
242
|
self.actionCW_Macros.triggered.connect(self.cw_macros_state_changed)
|
238
|
-
self.actionDark_Mode_2.
|
243
|
+
# self.actionDark_Mode_2.hide()
|
244
|
+
# self.actionDark_Mode_2.triggered.connect(self.dark_mode_state_changed)
|
239
245
|
self.actionCommand_Buttons_2.triggered.connect(
|
240
246
|
self.command_buttons_state_change
|
241
247
|
)
|
@@ -771,6 +777,16 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
771
777
|
)
|
772
778
|
self.fldigi_qso(datagram.decode())
|
773
779
|
|
780
|
+
def is_it_dark(self) -> bool:
|
781
|
+
"""Returns if the DE has a dark theme active."""
|
782
|
+
hints = QtGui.QGuiApplication.styleHints()
|
783
|
+
scheme = hints.colorScheme()
|
784
|
+
return scheme == Qt.ColorScheme.Dark
|
785
|
+
|
786
|
+
def dark_watcher(self, color_scheme):
|
787
|
+
"""..."""
|
788
|
+
self.setDarkMode(setdarkmode=color_scheme == Qt.ColorScheme.Dark)
|
789
|
+
|
774
790
|
def load_call_history(self) -> None:
|
775
791
|
"""Display filepicker and load chosen call history file."""
|
776
792
|
filename = self.filepicker("other")
|
@@ -3046,12 +3062,12 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3046
3062
|
if self.lookup_service:
|
3047
3063
|
self.lookup_service.msg_from_main(cmd)
|
3048
3064
|
|
3049
|
-
if self.pref.get("darkmode"):
|
3050
|
-
|
3051
|
-
|
3052
|
-
else:
|
3053
|
-
|
3054
|
-
|
3065
|
+
# if self.pref.get("darkmode"):
|
3066
|
+
# self.actionDark_Mode_2.setChecked(True)
|
3067
|
+
# self.setDarkMode(True)
|
3068
|
+
# else:
|
3069
|
+
# self.setDarkMode(False)
|
3070
|
+
# self.actionDark_Mode_2.setChecked(False)
|
3055
3071
|
|
3056
3072
|
try:
|
3057
3073
|
if self.rtc_thread.isRunning():
|
@@ -3235,9 +3251,9 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3235
3251
|
|
3236
3252
|
def dark_mode_state_changed(self) -> None:
|
3237
3253
|
"""Called when the Dark Mode menu state is changed."""
|
3238
|
-
self.pref["darkmode"] = self.actionDark_Mode_2.isChecked()
|
3239
|
-
self.write_preference()
|
3240
|
-
self.setDarkMode(self.actionDark_Mode_2.isChecked())
|
3254
|
+
# self.pref["darkmode"] = self.actionDark_Mode_2.isChecked()
|
3255
|
+
# self.write_preference()
|
3256
|
+
# # self.setDarkMode(self.actionDark_Mode_2.isChecked())
|
3241
3257
|
|
3242
3258
|
def rtc_response(self, response):
|
3243
3259
|
print(f"{response=}")
|
not1mm/data/main.ui
CHANGED
@@ -1504,7 +1504,6 @@
|
|
1504
1504
|
<string>View</string>
|
1505
1505
|
</property>
|
1506
1506
|
<addaction name="actionCW_Macros"/>
|
1507
|
-
<addaction name="actionDark_Mode_2"/>
|
1508
1507
|
<addaction name="actionCommand_Buttons_2"/>
|
1509
1508
|
</widget>
|
1510
1509
|
<widget class="QMenu" name="menuWindow">
|
@@ -2031,6 +2030,9 @@
|
|
2031
2030
|
<property name="checkable">
|
2032
2031
|
<bool>true</bool>
|
2033
2032
|
</property>
|
2033
|
+
<property name="enabled">
|
2034
|
+
<bool>true</bool>
|
2035
|
+
</property>
|
2034
2036
|
<property name="text">
|
2035
2037
|
<string>Dark Mode</string>
|
2036
2038
|
</property>
|
not1mm/lib/version.py
CHANGED
not1mm/statistics.py
CHANGED
@@ -178,7 +178,7 @@ class StatsWindow(QDockWidget):
|
|
178
178
|
item = QtWidgets.QTableWidgetItem(str(result.get("points", "0")))
|
179
179
|
item.setTextAlignment(0x0002)
|
180
180
|
self.tableWidget.setItem(row, 6, item)
|
181
|
-
query = f"select sum(sortedmode.mode == 'CW') as CW, sum(sortedmode.mode == 'PH') as PH, sum(sortedmode.mode == 'DI') as DI from (select CASE Mode
|
181
|
+
query = f"select sum(sortedmode.mode == 'CW') as CW, sum(sortedmode.mode == 'PH') as PH, sum(sortedmode.mode == 'DI') as DI from (select CASE WHEN Mode IN ('LSB','USB','SSB','FM','AM') THEN 'PH' WHEN Mode IN ('CW','CW-R') THEN 'CW' WHEN Mode IN ('FT8','FT4','RTTY','PSK31','FSK441','MSK144','JT65','JT9','Q65') THEN 'DI' ELSE 'OTHER' END mode from DXLOG where ContestNR = {self.database.current_contest} and Band = '{band['band']}') as sortedmode;"
|
182
182
|
result = self.database.exec_sql(query)
|
183
183
|
item = QtWidgets.QTableWidgetItem(str(result.get("CW", "0")))
|
184
184
|
item.setTextAlignment(0x0002)
|
@@ -206,7 +206,7 @@ class StatsWindow(QDockWidget):
|
|
206
206
|
item.setTextAlignment(0x0002)
|
207
207
|
self.tableWidget.setItem(row, 6, item)
|
208
208
|
|
209
|
-
query = f"select sum(sortedmode.mode == 'CW') as CW, sum(sortedmode.mode == 'PH') as PH, sum(sortedmode.mode == 'DI') as DI from (select CASE Mode
|
209
|
+
query = f"select sum(sortedmode.mode == 'CW') as CW, sum(sortedmode.mode == 'PH') as PH, sum(sortedmode.mode == 'DI') as DI from (select CASE WHEN Mode IN ('LSB','USB','SSB','FM','AM') THEN 'PH' WHEN Mode IN ('CW','CW-R') THEN 'CW' WHEN Mode In ('FT8','FT4','RTTY','PSK31','FSK441','MSK144','JT65','JT9','Q65') THEN 'DI' ELSE 'OTHER' END mode from DXLOG where ContestNR = {self.database.current_contest}) as sortedmode;"
|
210
210
|
result = self.database.exec_sql(query)
|
211
211
|
item = QtWidgets.QTableWidgetItem(str(result.get("CW", "0")))
|
212
212
|
item.setTextAlignment(0x0002)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: not1mm
|
3
|
-
Version: 25.3.
|
3
|
+
Version: 25.3.27.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,6 +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-27-1] Detect system dark mode.
|
251
|
+
- [25-3-27] Add more DI and PH mode to stats window.
|
250
252
|
- [25-3-26] Record 0 points on dupes for each contest, excluding RandomGram.
|
251
253
|
- [25-3-25-1] Improved process messaging.
|
252
254
|
- [25-3-25] Use safer dict key access in the stats window.
|
@@ -1,5 +1,5 @@
|
|
1
1
|
not1mm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
-
not1mm/__main__.py,sha256=
|
2
|
+
not1mm/__main__.py,sha256=4F_3aJ93ohTMHESKtGcLAwLeZwAgHLJrpeigmQSwMX4,152382
|
3
3
|
not1mm/bandmap.py,sha256=mdSK6oj8plEmr6WVYkzPTCfsHWKl9lea3R14cmRsAI4,31531
|
4
4
|
not1mm/checkwindow.py,sha256=VFAcKYTcoWhmIf91chwY6tyao9FQMWPiUkgDDkkWaog,9670
|
5
5
|
not1mm/fsutils.py,sha256=ukHKxKTeNKxKwqRaJjtzRShL4X5Xl0jRBbADyy3Ifp8,1701
|
@@ -8,7 +8,7 @@ not1mm/lookupservice.py,sha256=GkY_qHZfrW6XHf8upIoaG4hCFqm0fg6Ganu9ConGrIc,2628
|
|
8
8
|
not1mm/radio.py,sha256=_b-tSFuDLoBKnABxrsafGQu2p33U-KOubY7-qgLV2yg,5408
|
9
9
|
not1mm/ratewindow.py,sha256=UVkQt0nSB2COQlJQV6tFtsz4mP7d-Wj9jcjqvZw934Q,9891
|
10
10
|
not1mm/rtc_service.py,sha256=axAwnCBuTr-QL0YwXtWvg9tjwhcFsiiEZFgFjOofX6k,2816
|
11
|
-
not1mm/statistics.py,sha256=
|
11
|
+
not1mm/statistics.py,sha256=N7PaE0yzdYpysEDioaZ_-aYb3bJd_qVCBTExCQNXkd4,9800
|
12
12
|
not1mm/test.py,sha256=RN71m2S9MPIOJMaoCi0wZhwEhpEZunvtosZxaKahRB4,101
|
13
13
|
not1mm/vfo.py,sha256=ggPyWtxMbdSE5RwdK0nDRwDNqOxdpb_pvnzZdbzZVQE,11136
|
14
14
|
not1mm/voice_keying.py,sha256=HZImqC5NgnyW2nknNYQ3b7I8-6S_hxpq5G4RcIRXn_k,3005
|
@@ -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
|
36
|
+
not1mm/data/main.ui,sha256=7H38twKBpL8ZX4rrPCg4XQH1fRIiaVFE7t_yWxygS9Y,63824
|
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
|
@@ -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=
|
121
|
+
not1mm/lib/version.py,sha256=hzhmDpg6V814LRIVpDInIjIiLXs3WT0G4OGJZYRtwKI,50
|
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.
|
177
|
-
not1mm-25.3.
|
178
|
-
not1mm-25.3.
|
179
|
-
not1mm-25.3.
|
180
|
-
not1mm-25.3.
|
181
|
-
not1mm-25.3.
|
176
|
+
not1mm-25.3.27.1.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
177
|
+
not1mm-25.3.27.1.dist-info/METADATA,sha256=wok0rqACW0QOpGjs6-9ZAATrgENBSTEpMlwHvPLSGK4,37564
|
178
|
+
not1mm-25.3.27.1.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
179
|
+
not1mm-25.3.27.1.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
|
180
|
+
not1mm-25.3.27.1.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
|
181
|
+
not1mm-25.3.27.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|