Source code for prsctrl_gui.main
"""Setup path and run init"""
import os
import sys
if __name__ == "__main__":
if __package__ is None:
# make relative imports work as described here: https://peps.python.org/pep-0366/#proposed-change
__package__ = "prsctrl_gui"
from os import path
filepath = path.realpath(path.abspath(__file__))
# Make sure all projects are loaded from the source tree instead of installed packages
# parent dir of both projects
pdir = path.dirname(path.dirname(path.dirname(filepath)))
sys.path.insert(0, path.join(pdir, "devctrl"))
sys.path.insert(0, path.join(pdir, "prsctrl"))
sys.path.insert(0, path.join(pdir, "prsctrl-gui"))
# home pc
sys.path.insert(0, path.join(pdir, "py-devctrl"))
sys.path.insert(0, path.join(pdir, "py-prsctrl"))
sys.path.insert(0, path.join(pdir, "py-prsctrl-gui"))
# Override find_icon_path to get a list of all used icons
import devctrl.resources
ICONS_LIST = set()
_find_icon = devctrl.resources.icon.find_icon_path
[docs]
def find_icon_and_store(icon_name: str, dark_mode: bool|None=None) -> str|None:
ICONS_LIST.add(icon_name)
return _find_icon(icon_name, dark_mode)
devctrl.resources.icon.find_icon_path = find_icon_and_store
from prsctrl_gui import init
if __name__ == '__main__':
import sys
exitcode = init.run()
with open("required-icons.txt", "w") as file:
for icon in sorted(ICONS_LIST):
file.write(icon + "\n")
sys.exit(exitcode)