not1mm 25.4.28__tar.gz → 25.5.21__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {not1mm-25.4.28 → not1mm-25.5.21}/PKG-INFO +39 -27
- {not1mm-25.4.28 → not1mm-25.5.21}/README.md +38 -26
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/__main__.py +79 -26
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/bandmap.py +5 -1
- not1mm-25.5.21/not1mm/data/JetBrainsMono-Thin.ttf +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/about.ui +1 -1
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/bandmap.ui +4 -4
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/checkwindow.ui +7 -7
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/configuration.ui +131 -51
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/editcontact.ui +3 -3
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/editmacro.ui +1 -1
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/logwindow.ui +2 -2
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/logwindowx.ui +2 -2
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/main.ui +36 -36
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/new_contest.ui +2 -2
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/opon.ui +1 -1
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/pickcontest.ui +1 -1
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/ratewindow.ui +2 -2
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/settings.ui +1 -1
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/statistics.ui +1 -1
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/vfo.ui +2 -2
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/lib/cat_interface.py +16 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/lib/settings.py +4 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/lib/version.py +1 -1
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm.egg-info/PKG-INFO +39 -27
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm.egg-info/SOURCES.txt +1 -1
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm.egg-info/top_level.txt +1 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/pyproject.toml +1 -1
- not1mm-25.4.28/not1mm/data/JetBrainsMono-ExtraLight.ttf +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/LICENSE +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/__init__.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/checkwindow.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/MASTER.SCP +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/alpha bravo charlie delta.txt +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/check.png +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/contests.sql +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/cty.json +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/cwmacros.txt +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/donors.html +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/greendot.png +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/k6gte-not1mm.desktop +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/k6gte.not1mm-128.png +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/k6gte.not1mm-32.png +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/k6gte.not1mm-64.png +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/not1mm.html +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/0.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/1.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/2.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/3.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/4.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/5.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/6.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/7.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/73.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/8.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/9.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/a.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/again.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/b.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/c.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/contest.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/cq.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/cq2.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/d.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/e.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/f.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/g.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/h.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/i.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/j.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/k.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/k6gte.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/l.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/m.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/mynumber.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/n.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/nil.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/o.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/p.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/q.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/r.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/roger.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/s.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/space.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/t.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/thankyou.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/u.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/v.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/w.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/x.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/y.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/yourcall.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/phonetics/z.wav +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/radio_green.png +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/radio_grey.png +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/radio_red.png +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/reddot.png +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/rttymacros.txt +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/splash.png +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/data/ssbmacros.txt +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/fsutils.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/lib/__init__.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/lib/about.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/lib/cwinterface.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/lib/database.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/lib/edit_contact.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/lib/edit_macro.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/lib/edit_opon.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/lib/edit_station.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/lib/fldigi_sendstring.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/lib/ft8_watcher.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/lib/ham_utility.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/lib/lookup.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/lib/multicast.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/lib/n1mm.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/lib/new_contest.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/lib/plugin_common.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/lib/select_contest.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/lib/super_check_partial.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/lib/versiontest.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/logwindow.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/lookupservice.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/10_10_fall_cw.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/10_10_spring_cw.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/10_10_summer_phone.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/10_10_winter_phone.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/__init__.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/ari_40_80.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/arrl_10m.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/arrl_160m.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/arrl_dx_cw.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/arrl_dx_ssb.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/arrl_field_day.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/arrl_rtty_ru.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/arrl_ss_cw.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/arrl_ss_phone.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/arrl_vhf_jan.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/arrl_vhf_jun.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/arrl_vhf_sep.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/canada_day.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/cq_160_cw.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/cq_160_ssb.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/cq_wpx_cw.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/cq_wpx_rtty.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/cq_wpx_ssb.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/cq_ww_cw.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/cq_ww_rtty.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/cq_ww_ssb.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/cwt.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/darc_vhf.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/darc_xmas.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/ea_majistad_cw.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/ea_majistad_ssb.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/ea_rtty.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/es_open.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/general_logging.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/helvetia.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/iaru_fieldday_r1_cw.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/iaru_fieldday_r1_ssb.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/iaru_hf.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/icwc_mst.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/jidx_cw.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/jidx_ph.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/k1usn_sst.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/labre_rs_digi.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/lz-dx.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/naqp_cw.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/naqp_rtty.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/naqp_ssb.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/phone_weekly_test.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/raem.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/randomgram.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/ref_cw.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/ref_ssb.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/sac_cw.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/sac_ssb.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/spdx.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/stew_perry_topband.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/ukeidx.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/vhf_sprint.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/weekly_rtty.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/plugins/winter_field_day.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/radio.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/ratewindow.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/rtc_service.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/statistics.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/test.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/vfo.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm/voice_keying.py +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm.egg-info/dependency_links.txt +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm.egg-info/entry_points.txt +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/not1mm.egg-info/requires.txt +0 -0
- {not1mm-25.4.28 → not1mm-25.5.21}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: not1mm
|
3
|
-
Version: 25.
|
3
|
+
Version: 25.5.21
|
4
4
|
Summary: NOT1MM Logger
|
5
5
|
Author-email: Michael Bridak <michael.bridak@gmail.com>
|
6
6
|
License: GPL-3.0-or-later
|
@@ -62,6 +62,7 @@ Dynamic: license-file
|
|
62
62
|
- [Flatpak](#flatpak)
|
63
63
|
- [Installation](#installation)
|
64
64
|
- [Prerequisites](#prerequisites)
|
65
|
+
- [The Easy and Fast way to always run the latest version](#the-easy-and-fast-way-to-always-run-the-latest-version)
|
65
66
|
- [Common Installation Recipes for Ubuntu and Fedora](#common-installation-recipes-for-ubuntu-and-fedora)
|
66
67
|
- [Ubuntu 22.04 LTS](#ubuntu-2204-lts)
|
67
68
|
- [Ubuntu 23.04](#ubuntu-2304)
|
@@ -256,31 +257,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
256
257
|
|
257
258
|
## Recent Changes
|
258
259
|
|
259
|
-
-
|
260
|
-
- [25-
|
261
|
-
- [25-4-22] Mostly code cleanup. Not running some code when not needed.
|
262
|
-
- [25-4-21] Add a couple more debug messages. Add LSB/USB to input-able commands to the callsign field.
|
263
|
-
- [25-4-19-1] Add FM and AM as input-able commands to the callsign field.
|
264
|
-
- [25-4-19] Changed S&P QSY wipe from 50hz to 500hz.
|
265
|
-
- [25-4-18] Option to clear input fields when QSY in S&P mode.
|
266
|
-
- [25-4-17] Testing sending radio voice memory. {VOICE1}, {VOICE2} etc.
|
267
|
-
- [25-4-16] Fix serial number not updating when selecing call from checkpartial or bandmap.
|
268
|
-
- [25-4-15] Corrected dupe_type 5 check for contest specific function. Fixed wrong ES Open plugin name. Fixed some problems with the specific_contest_check_dupe datetime namespace. And other stuff.
|
269
|
-
- [25-4-14] Add ES Open HF Chanmpionship.
|
270
|
-
- [25-4-13] Fix crash in JIDX Cabrillo output.
|
271
|
-
- [25-4-12] Added an Auto CQ time to fire progress bar.
|
272
|
-
- [25-4-11-3] Fixed issue with winkeyer not sending multiple macros in ESM mode.
|
273
|
-
- [25-4-11-2] Fixed a crash.
|
274
|
-
- [25-4-11-1] Add clear buffer to winkeyer interface to stop sending.
|
275
|
-
- [25-4-11] Add Scandinavian Activity Contest
|
276
|
-
- [25-4-10-1] Add ARI 40/80 contest. Add CTRL-R to toggle Run state.
|
277
|
-
- [25-4-10] Add Auto CQ visual indicator.
|
278
|
-
- [25-4-9] Added UKEI DX Contest.
|
279
|
-
- [25-4-8] Remove focus from statistics table widget.
|
280
|
-
- [25-4-7] Merge in changes from dj1yfk correcting SPDX Cabrillo name.
|
281
|
-
- [25-4-5] Add SPDX.
|
282
|
-
- [25-4-2] Add some tool tips to bandmap and main. Updated Zoom buttons on bandmap. Updated minimum Python version to 3.10.
|
283
|
-
- [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.
|
260
|
+
-[25-5-21] Fix crash from unsafe dict key access when processing F1-F12.
|
261
|
+
- [25-5-6] Merged PR from @JG3LLB, Koji-Kawano, Adding code to stop sending morse if using rigctld to send, and @alduhoo adding more control to CW serial number padding.
|
284
262
|
|
285
263
|
See [CHANGELOG.md](CHANGELOG.md) for prior changes.
|
286
264
|
|
@@ -304,6 +282,40 @@ Not1MM requires:
|
|
304
282
|
|
305
283
|
You should install these through your distribution's package manager before continuing.
|
306
284
|
|
285
|
+
### The Easy and Fast way to always run the latest version
|
286
|
+
|
287
|
+
- Step 1. Visit [Astral](https://docs.astral.sh/uv/) and install uv.
|
288
|
+
|
289
|
+
In short you run this in your terminal:
|
290
|
+
|
291
|
+
```bash
|
292
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
293
|
+
```
|
294
|
+
|
295
|
+
- Step 2. Tell it to run not1mm:
|
296
|
+
|
297
|
+
```bash
|
298
|
+
uv tool run not1mm
|
299
|
+
```
|
300
|
+
|
301
|
+
That's it... It will go out, fetch the latest version of not1mm, setup a python virtual environment, get all the needed python libraries, cache everything and run not1mm. The first time takes a minute, but each time after, it's lightning quick and it will automatically check for updates and run the latest version.
|
302
|
+
|
303
|
+
But wait... There's more. If your distro is old and you're stuck with an older version of python... Say 3.10. And you want to see what all the cool kids are using. But you don't want to corrupt your broke ol' system by downloading the newest Python version. No problem. You can tell uv to run not1mm with any version of Python you'd like. Let's say 3.14.
|
304
|
+
|
305
|
+
```bash
|
306
|
+
uv tool run --python 3.14 not1mm
|
307
|
+
```
|
308
|
+
|
309
|
+
It'll download Python 3.14 into you virtual environment and run not1mm.
|
310
|
+
|
311
|
+
Let's say I was an idiot and pushed a new version and did't fully test it. This happens a-lot... We test in production. Or lets say you just want to see the pain that was back in 2023. No problem.
|
312
|
+
|
313
|
+
```bash
|
314
|
+
uv tool run --python 3.10 not1mm==23.5.19
|
315
|
+
```
|
316
|
+
|
317
|
+
Pow! Enjoy the pain... If uv is not your cuppa, you can follow the more traditional route below.
|
318
|
+
|
307
319
|
### Common Installation Recipes for Ubuntu and Fedora
|
308
320
|
|
309
321
|
I've taken the time to install some common Linux distributions into a VM and
|
@@ -405,7 +417,7 @@ all the details from:
|
|
405
417
|
In short, You should install stuff into a Python virtual environment. Newer
|
406
418
|
Linux distros will make you do this unless you include a command line argument
|
407
419
|
akin to '--break-my-system' when using pip. I'm not telling you to use pipx.
|
408
|
-
But... **Use pipx**.
|
420
|
+
But... **Use pipx**. Or better visit the [section above](#the-easy-and-fast-way-to-always-run-the-latest-version) on using uv.
|
409
421
|
|
410
422
|
#### Bootstrapping pipx
|
411
423
|
|
@@ -30,6 +30,7 @@
|
|
30
30
|
- [Flatpak](#flatpak)
|
31
31
|
- [Installation](#installation)
|
32
32
|
- [Prerequisites](#prerequisites)
|
33
|
+
- [The Easy and Fast way to always run the latest version](#the-easy-and-fast-way-to-always-run-the-latest-version)
|
33
34
|
- [Common Installation Recipes for Ubuntu and Fedora](#common-installation-recipes-for-ubuntu-and-fedora)
|
34
35
|
- [Ubuntu 22.04 LTS](#ubuntu-2204-lts)
|
35
36
|
- [Ubuntu 23.04](#ubuntu-2304)
|
@@ -224,31 +225,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
224
225
|
|
225
226
|
## Recent Changes
|
226
227
|
|
227
|
-
-
|
228
|
-
- [25-
|
229
|
-
- [25-4-22] Mostly code cleanup. Not running some code when not needed.
|
230
|
-
- [25-4-21] Add a couple more debug messages. Add LSB/USB to input-able commands to the callsign field.
|
231
|
-
- [25-4-19-1] Add FM and AM as input-able commands to the callsign field.
|
232
|
-
- [25-4-19] Changed S&P QSY wipe from 50hz to 500hz.
|
233
|
-
- [25-4-18] Option to clear input fields when QSY in S&P mode.
|
234
|
-
- [25-4-17] Testing sending radio voice memory. {VOICE1}, {VOICE2} etc.
|
235
|
-
- [25-4-16] Fix serial number not updating when selecing call from checkpartial or bandmap.
|
236
|
-
- [25-4-15] Corrected dupe_type 5 check for contest specific function. Fixed wrong ES Open plugin name. Fixed some problems with the specific_contest_check_dupe datetime namespace. And other stuff.
|
237
|
-
- [25-4-14] Add ES Open HF Chanmpionship.
|
238
|
-
- [25-4-13] Fix crash in JIDX Cabrillo output.
|
239
|
-
- [25-4-12] Added an Auto CQ time to fire progress bar.
|
240
|
-
- [25-4-11-3] Fixed issue with winkeyer not sending multiple macros in ESM mode.
|
241
|
-
- [25-4-11-2] Fixed a crash.
|
242
|
-
- [25-4-11-1] Add clear buffer to winkeyer interface to stop sending.
|
243
|
-
- [25-4-11] Add Scandinavian Activity Contest
|
244
|
-
- [25-4-10-1] Add ARI 40/80 contest. Add CTRL-R to toggle Run state.
|
245
|
-
- [25-4-10] Add Auto CQ visual indicator.
|
246
|
-
- [25-4-9] Added UKEI DX Contest.
|
247
|
-
- [25-4-8] Remove focus from statistics table widget.
|
248
|
-
- [25-4-7] Merge in changes from dj1yfk correcting SPDX Cabrillo name.
|
249
|
-
- [25-4-5] Add SPDX.
|
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.
|
228
|
+
-[25-5-21] Fix crash from unsafe dict key access when processing F1-F12.
|
229
|
+
- [25-5-6] Merged PR from @JG3LLB, Koji-Kawano, Adding code to stop sending morse if using rigctld to send, and @alduhoo adding more control to CW serial number padding.
|
252
230
|
|
253
231
|
See [CHANGELOG.md](CHANGELOG.md) for prior changes.
|
254
232
|
|
@@ -272,6 +250,40 @@ Not1MM requires:
|
|
272
250
|
|
273
251
|
You should install these through your distribution's package manager before continuing.
|
274
252
|
|
253
|
+
### The Easy and Fast way to always run the latest version
|
254
|
+
|
255
|
+
- Step 1. Visit [Astral](https://docs.astral.sh/uv/) and install uv.
|
256
|
+
|
257
|
+
In short you run this in your terminal:
|
258
|
+
|
259
|
+
```bash
|
260
|
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
261
|
+
```
|
262
|
+
|
263
|
+
- Step 2. Tell it to run not1mm:
|
264
|
+
|
265
|
+
```bash
|
266
|
+
uv tool run not1mm
|
267
|
+
```
|
268
|
+
|
269
|
+
That's it... It will go out, fetch the latest version of not1mm, setup a python virtual environment, get all the needed python libraries, cache everything and run not1mm. The first time takes a minute, but each time after, it's lightning quick and it will automatically check for updates and run the latest version.
|
270
|
+
|
271
|
+
But wait... There's more. If your distro is old and you're stuck with an older version of python... Say 3.10. And you want to see what all the cool kids are using. But you don't want to corrupt your broke ol' system by downloading the newest Python version. No problem. You can tell uv to run not1mm with any version of Python you'd like. Let's say 3.14.
|
272
|
+
|
273
|
+
```bash
|
274
|
+
uv tool run --python 3.14 not1mm
|
275
|
+
```
|
276
|
+
|
277
|
+
It'll download Python 3.14 into you virtual environment and run not1mm.
|
278
|
+
|
279
|
+
Let's say I was an idiot and pushed a new version and did't fully test it. This happens a-lot... We test in production. Or lets say you just want to see the pain that was back in 2023. No problem.
|
280
|
+
|
281
|
+
```bash
|
282
|
+
uv tool run --python 3.10 not1mm==23.5.19
|
283
|
+
```
|
284
|
+
|
285
|
+
Pow! Enjoy the pain... If uv is not your cuppa, you can follow the more traditional route below.
|
286
|
+
|
275
287
|
### Common Installation Recipes for Ubuntu and Fedora
|
276
288
|
|
277
289
|
I've taken the time to install some common Linux distributions into a VM and
|
@@ -373,7 +385,7 @@ all the details from:
|
|
373
385
|
In short, You should install stuff into a Python virtual environment. Newer
|
374
386
|
Linux distros will make you do this unless you include a command line argument
|
375
387
|
akin to '--break-my-system' when using pip. I'm not telling you to use pipx.
|
376
|
-
But... **Use pipx**.
|
388
|
+
But... **Use pipx**. Or better visit the [section above](#the-easy-and-fast-way-to-always-run-the-latest-version) on using uv.
|
377
389
|
|
378
390
|
#### Bootstrapping pipx
|
379
391
|
|
@@ -30,7 +30,7 @@ import notctyparser
|
|
30
30
|
|
31
31
|
from PyQt6 import QtCore, QtGui, QtWidgets, uic, QtNetwork
|
32
32
|
from PyQt6.QtCore import QDir, Qt, QThread, QSettings, QCoreApplication
|
33
|
-
from PyQt6.QtGui import QFontDatabase, QColorConstants, QPalette, QColor, QPixmap
|
33
|
+
from PyQt6.QtGui import QFontDatabase, QColorConstants, QPalette, QColor, QPixmap, QFont
|
34
34
|
from PyQt6.QtWidgets import QFileDialog, QSplashScreen, QApplication
|
35
35
|
from PyQt6.QtCore import QT_VERSION_STR, PYQT_VERSION_STR
|
36
36
|
|
@@ -212,7 +212,45 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
212
212
|
)
|
213
213
|
self.setCorner(Qt.Corner.TopLeftCorner, Qt.DockWidgetArea.LeftDockWidgetArea)
|
214
214
|
self.setCorner(Qt.Corner.BottomLeftCorner, Qt.DockWidgetArea.LeftDockWidgetArea)
|
215
|
+
self.fontfamily = self.load_fonts_from_dir(os.fspath(fsutils.APP_DATA_PATH))
|
215
216
|
uic.loadUi(fsutils.APP_DATA_PATH / "main.ui", self)
|
217
|
+
if sys.platform == "darwin":
|
218
|
+
def_font_size = 12
|
219
|
+
|
220
|
+
QApplication.instance().setFont(QFont(self.fontfamily, def_font_size))
|
221
|
+
self.F1.setFont(QFont(self.fontfamily, def_font_size))
|
222
|
+
self.F2.setFont(QFont(self.fontfamily, def_font_size))
|
223
|
+
self.F3.setFont(QFont(self.fontfamily, def_font_size))
|
224
|
+
self.F4.setFont(QFont(self.fontfamily, def_font_size))
|
225
|
+
self.F5.setFont(QFont(self.fontfamily, def_font_size))
|
226
|
+
self.F6.setFont(QFont(self.fontfamily, def_font_size))
|
227
|
+
self.F7.setFont(QFont(self.fontfamily, def_font_size))
|
228
|
+
self.F8.setFont(QFont(self.fontfamily, def_font_size))
|
229
|
+
self.F9.setFont(QFont(self.fontfamily, def_font_size))
|
230
|
+
self.F10.setFont(QFont(self.fontfamily, def_font_size))
|
231
|
+
self.F11.setFont(QFont(self.fontfamily, def_font_size))
|
232
|
+
self.F12.setFont(QFont(self.fontfamily, def_font_size))
|
233
|
+
self.radioButton_run.setFont(QFont(self.fontfamily, def_font_size))
|
234
|
+
self.radioButton_sp.setFont(QFont(self.fontfamily, def_font_size))
|
235
|
+
self.cw_speed.setFont(QFont(self.fontfamily, def_font_size))
|
236
|
+
self.callsign_label.setFont(QFont(self.fontfamily, def_font_size))
|
237
|
+
self.snt_label.setFont(QFont(self.fontfamily, def_font_size))
|
238
|
+
self.rcv_label.setFont(QFont(self.fontfamily, def_font_size))
|
239
|
+
self.other_label.setFont(QFont(self.fontfamily, def_font_size))
|
240
|
+
self.exch_label.setFont(QFont(self.fontfamily, def_font_size))
|
241
|
+
self.heading_distance.setFont(QFont(self.fontfamily, def_font_size))
|
242
|
+
self.history_info.setFont(QFont(self.fontfamily, def_font_size))
|
243
|
+
self.dx_entity.setFont(QFont(self.fontfamily, def_font_size))
|
244
|
+
self.score.setFont(QFont(self.fontfamily, def_font_size))
|
245
|
+
self.mults.setFont(QFont(self.fontfamily, def_font_size))
|
246
|
+
|
247
|
+
self.callsign.setFont(QFont(self.fontfamily, 20))
|
248
|
+
self.sent.setFont(QFont(self.fontfamily, 20))
|
249
|
+
self.receive.setFont(QFont(self.fontfamily, 20))
|
250
|
+
self.other_1.setFont(QFont(self.fontfamily, 20))
|
251
|
+
self.other_2.setFont(QFont(self.fontfamily, 20))
|
252
|
+
self.dupe_indicator.setFont(QFont(self.fontfamily, 20))
|
253
|
+
|
216
254
|
self.history_info.hide()
|
217
255
|
QApplication.instance().focusObjectChanged.connect(self.on_focus_changed)
|
218
256
|
QApplication.instance().styleHints().colorSchemeChanged.connect(
|
@@ -1990,11 +2028,11 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
1990
2028
|
indicator.setFrameShape(QtWidgets.QFrame.Shape.NoFrame)
|
1991
2029
|
if self.text_color == QColorConstants.Black:
|
1992
2030
|
indicator.setStyleSheet(
|
1993
|
-
"font-family:
|
2031
|
+
f"font-family: {self.fontfamily}; color: black;"
|
1994
2032
|
)
|
1995
2033
|
else:
|
1996
2034
|
indicator.setStyleSheet(
|
1997
|
-
"font-family:
|
2035
|
+
f"font-family: {self.fontfamily}; color: white;"
|
1998
2036
|
)
|
1999
2037
|
|
2000
2038
|
def set_band_indicator(self, band: str) -> None:
|
@@ -2017,7 +2055,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
2017
2055
|
if indicator:
|
2018
2056
|
indicator.setFrameShape(QtWidgets.QFrame.Shape.Box)
|
2019
2057
|
indicator.setStyleSheet(
|
2020
|
-
"font-family:
|
2058
|
+
f"font-family: {self.fontfamily}; color: green;"
|
2021
2059
|
)
|
2022
2060
|
|
2023
2061
|
def closeEvent(self, _event) -> None:
|
@@ -2121,6 +2159,9 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
2121
2159
|
if self.cw.servertype == 2:
|
2122
2160
|
self.cw.winkeyer_stop()
|
2123
2161
|
return
|
2162
|
+
if self.cw.servertype == 3:
|
2163
|
+
self.rig_control.cat.stopcwrigctl()
|
2164
|
+
return
|
2124
2165
|
if self.rig_control:
|
2125
2166
|
if self.rig_control.online:
|
2126
2167
|
if self.pref.get("cwtype") == 3 and self.rig_control is not None:
|
@@ -2869,7 +2910,13 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
2869
2910
|
next_serial = "1"
|
2870
2911
|
macro = macro.upper()
|
2871
2912
|
if self.radio_state.get("mode") == "CW":
|
2872
|
-
macro = macro.replace(
|
2913
|
+
macro = macro.replace(
|
2914
|
+
"#",
|
2915
|
+
next_serial.rjust(
|
2916
|
+
self.pref.get("cwpaddinglength", 3),
|
2917
|
+
self.pref.get("cwpaddingchar", "T"),
|
2918
|
+
),
|
2919
|
+
)
|
2873
2920
|
else:
|
2874
2921
|
macro = macro.replace("#", next_serial)
|
2875
2922
|
macro = macro.replace("{MYCALL}", self.station.get("Call", ""))
|
@@ -2882,7 +2929,13 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
2882
2929
|
macro = macro.replace("{SNT}", self.sent.text())
|
2883
2930
|
if self.radio_state.get("mode") == "CW":
|
2884
2931
|
macro = macro.replace(
|
2885
|
-
"{SENTNR}",
|
2932
|
+
"{SENTNR}",
|
2933
|
+
self.other_1.text()
|
2934
|
+
.lstrip("0")
|
2935
|
+
.rjust(
|
2936
|
+
self.pref.get("cwpaddinglength", 3),
|
2937
|
+
self.pref.get("cwpaddingchar", "T"),
|
2938
|
+
),
|
2886
2939
|
)
|
2887
2940
|
else:
|
2888
2941
|
macro = macro.replace("{SENTNR}", self.other_1.text())
|
@@ -4174,26 +4227,26 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
4174
4227
|
logger.debug("******Cabrillo*****")
|
4175
4228
|
self.contest.cabrillo(self, file_encoding)
|
4176
4229
|
|
4230
|
+
def load_fonts_from_dir(self, directory: str) -> str:
|
4231
|
+
"""
|
4232
|
+
Well it loads fonts from a directory...
|
4177
4233
|
|
4178
|
-
|
4179
|
-
|
4180
|
-
|
4181
|
-
|
4182
|
-
Parameters
|
4183
|
-
----------
|
4184
|
-
directory : str
|
4185
|
-
The directory to load fonts from.
|
4234
|
+
Parameters
|
4235
|
+
----------
|
4236
|
+
directory : str
|
4237
|
+
The directory to load fonts from.
|
4186
4238
|
|
4187
|
-
|
4188
|
-
|
4189
|
-
|
4190
|
-
|
4191
|
-
|
4192
|
-
|
4193
|
-
|
4194
|
-
|
4195
|
-
|
4196
|
-
|
4239
|
+
Returns
|
4240
|
+
-------
|
4241
|
+
set
|
4242
|
+
A set of font families installed in the directory.
|
4243
|
+
"""
|
4244
|
+
font_families = set()
|
4245
|
+
for _fi in QDir(directory).entryInfoList(["*.ttf", "*.woff", "*.woff2"]):
|
4246
|
+
_id = QFontDatabase.addApplicationFont(_fi.absoluteFilePath())
|
4247
|
+
font_families |= set(QFontDatabase.applicationFontFamilies(_id))
|
4248
|
+
result = set((max(font_families, key=len),))
|
4249
|
+
return list(result)[0]
|
4197
4250
|
|
4198
4251
|
|
4199
4252
|
def install_icons() -> None:
|
@@ -4249,8 +4302,8 @@ def run() -> None:
|
|
4249
4302
|
)
|
4250
4303
|
QCoreApplication.processEvents()
|
4251
4304
|
|
4252
|
-
families = load_fonts_from_dir(os.fspath(fsutils.APP_DATA_PATH))
|
4253
|
-
logger.info(f"font families {families}")
|
4305
|
+
# families = load_fonts_from_dir(os.fspath(fsutils.APP_DATA_PATH))
|
4306
|
+
# logger.info(f"font families {families}")
|
4254
4307
|
window = MainWindow(splash)
|
4255
4308
|
window.callsign.setFocus()
|
4256
4309
|
splash.finish(window)
|
@@ -19,7 +19,7 @@ from decimal import Decimal
|
|
19
19
|
from json import loads
|
20
20
|
|
21
21
|
from PyQt6 import QtCore, QtGui, QtWidgets, uic, QtNetwork
|
22
|
-
from PyQt6.QtGui import QColorConstants, QPalette, QColor
|
22
|
+
from PyQt6.QtGui import QColorConstants, QPalette, QColor, QFont
|
23
23
|
from PyQt6.QtWidgets import QDockWidget
|
24
24
|
from PyQt6.QtCore import Qt, pyqtSignal
|
25
25
|
|
@@ -343,6 +343,8 @@ class BandMapWindow(QDockWidget):
|
|
343
343
|
self._udpwatch = None
|
344
344
|
|
345
345
|
uic.loadUi(fsutils.APP_DATA_PATH / "bandmap.ui", self)
|
346
|
+
self.thefont = QFont()
|
347
|
+
self.thefont.setFamily("JetBrains Mono")
|
346
348
|
self.settings = self.get_settings()
|
347
349
|
self.clear_spot_olderSpinBox.setValue(
|
348
350
|
int(self.settings.get("cluster_expire", 1))
|
@@ -581,6 +583,7 @@ class BandMapWindow(QDockWidget):
|
|
581
583
|
freq = self.currentBand.start + step * i
|
582
584
|
text = f"{freq:.3f}"
|
583
585
|
self.something = self.bandmap_scene.addText(text)
|
586
|
+
self.something.setFont(self.thefont)
|
584
587
|
self.something.setDefaultTextColor(self.text_color)
|
585
588
|
self.something.setPos(
|
586
589
|
-(self.something.boundingRect().width()) + 10,
|
@@ -726,6 +729,7 @@ class BandMapWindow(QDockWidget):
|
|
726
729
|
+ " "
|
727
730
|
+ items.get("ts").split()[1][:-3]
|
728
731
|
)
|
732
|
+
text.setFont(self.thefont)
|
729
733
|
text.document().setDocumentMargin(0)
|
730
734
|
text.setPos(60, text_y - (text.boundingRect().height() / 2))
|
731
735
|
text.setFlags(
|
Binary file
|
@@ -12,7 +12,7 @@
|
|
12
12
|
</property>
|
13
13
|
<property name="font">
|
14
14
|
<font>
|
15
|
-
<family>JetBrains Mono
|
15
|
+
<family>JetBrains Mono</family>
|
16
16
|
</font>
|
17
17
|
</property>
|
18
18
|
<property name="windowTitle">
|
@@ -85,7 +85,7 @@
|
|
85
85
|
<widget class="QScrollArea" name="scrollArea">
|
86
86
|
<property name="font">
|
87
87
|
<font>
|
88
|
-
<family>JetBrains Mono
|
88
|
+
<family>JetBrains Mono</family>
|
89
89
|
<pointsize>9</pointsize>
|
90
90
|
</font>
|
91
91
|
</property>
|
@@ -106,7 +106,7 @@
|
|
106
106
|
</property>
|
107
107
|
<property name="font">
|
108
108
|
<font>
|
109
|
-
<family>JetBrains Mono
|
109
|
+
<family>JetBrains Mono</family>
|
110
110
|
<pointsize>9</pointsize>
|
111
111
|
</font>
|
112
112
|
</property>
|
@@ -115,7 +115,7 @@
|
|
115
115
|
<widget class="QGraphicsView" name="graphicsView">
|
116
116
|
<property name="font">
|
117
117
|
<font>
|
118
|
-
<family>JetBrains Mono
|
118
|
+
<family>JetBrains Mono</family>
|
119
119
|
<pointsize>6</pointsize>
|
120
120
|
</font>
|
121
121
|
</property>
|
@@ -12,7 +12,7 @@
|
|
12
12
|
</property>
|
13
13
|
<property name="font">
|
14
14
|
<font>
|
15
|
-
<family>JetBrains Mono
|
15
|
+
<family>JetBrains Mono</family>
|
16
16
|
</font>
|
17
17
|
</property>
|
18
18
|
<property name="focusPolicy">
|
@@ -33,7 +33,7 @@
|
|
33
33
|
</property>
|
34
34
|
<property name="font">
|
35
35
|
<font>
|
36
|
-
<family>JetBrains Mono
|
36
|
+
<family>JetBrains Mono</family>
|
37
37
|
<pointsize>12</pointsize>
|
38
38
|
</font>
|
39
39
|
</property>
|
@@ -70,7 +70,7 @@
|
|
70
70
|
</property>
|
71
71
|
<property name="font">
|
72
72
|
<font>
|
73
|
-
<family>JetBrains Mono
|
73
|
+
<family>JetBrains Mono</family>
|
74
74
|
<pointsize>12</pointsize>
|
75
75
|
</font>
|
76
76
|
</property>
|
@@ -107,7 +107,7 @@
|
|
107
107
|
</property>
|
108
108
|
<property name="font">
|
109
109
|
<font>
|
110
|
-
<family>JetBrains Mono
|
110
|
+
<family>JetBrains Mono</family>
|
111
111
|
<pointsize>12</pointsize>
|
112
112
|
</font>
|
113
113
|
</property>
|
@@ -141,7 +141,7 @@
|
|
141
141
|
<widget class="QLabel" name="logListLabel">
|
142
142
|
<property name="font">
|
143
143
|
<font>
|
144
|
-
<family>JetBrains Mono
|
144
|
+
<family>JetBrains Mono</family>
|
145
145
|
<pointsize>10</pointsize>
|
146
146
|
</font>
|
147
147
|
</property>
|
@@ -154,7 +154,7 @@
|
|
154
154
|
<widget class="QLabel" name="masterListLabel">
|
155
155
|
<property name="font">
|
156
156
|
<font>
|
157
|
-
<family>JetBrains Mono
|
157
|
+
<family>JetBrains Mono</family>
|
158
158
|
<pointsize>10</pointsize>
|
159
159
|
</font>
|
160
160
|
</property>
|
@@ -167,7 +167,7 @@
|
|
167
167
|
<widget class="QLabel" name="telnetListLabel">
|
168
168
|
<property name="font">
|
169
169
|
<font>
|
170
|
-
<family>JetBrains Mono
|
170
|
+
<family>JetBrains Mono</family>
|
171
171
|
<pointsize>10</pointsize>
|
172
172
|
</font>
|
173
173
|
</property>
|