Enhance asset handling: update icon loading to use dynamic path resolution

This commit is contained in:
Vxrtrauter
2026-01-17 14:46:07 +01:00
parent 356f3bf070
commit 84ea030e2a
2 changed files with 23 additions and 3 deletions
+4
View File
@@ -105,6 +105,8 @@ jobs:
--add-data "build_info.json;." \
--add-data "deps/aria2c.exe;." \
--add-data "core/interface/assets;core/interface/assets" \
--add-data "core/interface/dialogs/assets;core/interface/dialogs/assets" \
--icon "core/interface/assets/logo.png" \
--hidden-import=backports.tarfile \
--hidden-import=backports \
--hidden-import=jaraco.context \
@@ -120,6 +122,8 @@ jobs:
pyinstaller --onefile --windowed \
--add-data "build_info.json:." \
--add-data "core/interface/assets:core/interface/assets" \
--add-data "core/interface/dialogs/assets:core/interface/dialogs/assets" \
--icon "core/interface/assets/logo.png" \
--hidden-import=backports.tarfile \
--hidden-import=backports \
--hidden-import=jaraco.context \
+19 -3
View File
@@ -70,7 +70,23 @@ class MainWindow(QtWidgets.QMainWindow, QWidget):
super().__init__()
MainWindow._instance = self
self.log_signal.connect(self._on_log_signal)
self.setWindowIcon(QIcon(os.path.join('core/interface/assets/logo.png')))
def get_asset_path(filename):
asset_paths = [
os.path.join('core/interface/assets', filename),
os.path.join(os.path.dirname(__file__), '..', 'assets', filename),
os.path.join(os.path.dirname(sys.executable), 'core/interface/assets', filename),
]
for path in asset_paths:
if os.path.exists(path):
return path
return asset_paths[0]
self.setWindowIcon(QIcon(get_asset_path("logo.png")))
if platform.system() == "Windows":
try:
@@ -248,9 +264,9 @@ class MainWindow(QtWidgets.QMainWindow, QWidget):
self.tracker_list.activated.connect(self.set_tracker)
if darkdetect.isDark():
settings_action = QAction(QIcon("core/interface/assets/settings_white.png"), "Settings", self)
settings_action = QAction(QIcon(get_asset_path("settings_white.png")), "Settings", self)
else:
settings_action = QAction(QIcon("core/interface/assets/settings_black.png"), "Settings", self)
settings_action = QAction(QIcon(get_asset_path("settings_black.png")), "Settings", self)
settings_action.triggered.connect(lambda: settings_dialog(self))
toolbar.addAction(settings_action)