Launcher: fix loading of mcicon (#1779)

Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
This commit is contained in:
Fabian Dill 2023-04-30 18:10:58 +02:00 committed by GitHub
parent 9edab76567
commit 5d25f908a4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 17 additions and 5 deletions

View File

@ -146,7 +146,7 @@ def launch(exe, in_terminal=False):
def run_gui(): def run_gui():
from kvui import App, ContainerLayout, GridLayout, Button, Label from kvui import App, ContainerLayout, GridLayout, Button, Label
from kivy.uix.image import Image from kivy.uix.image import AsyncImage
from kivy.uix.relativelayout import RelativeLayout from kivy.uix.relativelayout import RelativeLayout
class Launcher(App): class Launcher(App):
@ -188,7 +188,8 @@ def run_gui():
button.component = component button.component = component
button.bind(on_release=self.component_action) button.bind(on_release=self.component_action)
if component.icon != "icon": if component.icon != "icon":
image = Image(source=icon_paths[component.icon], size=(38, 38), size_hint=(None, 1), pos=(5, 0)) image = AsyncImage(source=icon_paths[component.icon],
size=(38, 38), size_hint=(None, 1), pos=(5, 0))
box_layout = RelativeLayout() box_layout = RelativeLayout()
box_layout.add_widget(button) box_layout.add_widget(button)
box_layout.add_widget(image) box_layout.add_widget(image)

BIN
data/mcicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 594 B

View File

@ -157,11 +157,22 @@ build_arch = build_platform.split('-')[-1] if '-' in build_platform else platfor
# see Launcher.py on how to add scripts to setup.py # see Launcher.py on how to add scripts to setup.py
def resolve_icon(icon_name: str):
base_path = icon_paths[icon_name]
if is_windows:
path, extension = os.path.splitext(base_path)
ico_file = path + ".ico"
assert os.path.exists(ico_file), f"ico counterpart of {base_path} should exist."
return ico_file
else:
return base_path
exes = [ exes = [
cx_Freeze.Executable( cx_Freeze.Executable(
script=f'{c.script_name}.py', script=f'{c.script_name}.py',
target_name=c.frozen_name + (".exe" if is_windows else ""), target_name=c.frozen_name + (".exe" if is_windows else ""),
icon=icon_paths[c.icon], icon=resolve_icon(c.icon),
base="Win32GUI" if is_windows and not c.cli else None base="Win32GUI" if is_windows and not c.cli else None
) for c in components if c.script_name and c.frozen_name ) for c in components if c.script_name and c.frozen_name
] ]

View File

@ -101,7 +101,7 @@ components: List[Component] = [
icon_paths = { icon_paths = {
'icon': local_path('data', 'icon.ico' if is_windows else 'icon.png'), 'icon': local_path('data', 'icon.png'),
'mcicon': local_path('data', 'mcicon.ico'), 'mcicon': local_path('data', 'mcicon.png'),
'discord': local_path('data', 'discord-mark-blue.png'), 'discord': local_path('data', 'discord-mark-blue.png'),
} }