share.py (1500B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\systemMenu\theme\share.py 2 import carbonui 3 import eveui.clipboard 4 import localization 5 from carbonui.uicore import uicore 6 from chroma import Color 7 from player_messaging.client.ui_message import message_player 8 from eve.client.script.ui.shared.systemMenu.theme import theme_const 9 10 def parse_theme_slug(slug): 11 try: 12 focus, accent, tint, alert = slug.split(',') 13 focus = Color.from_hex(focus.strip()).with_capped_brightness(min_brightness=theme_const.FOREGROUND_MIN_BRIGHTNESS) 14 accent = Color.from_hex(accent.strip()).with_capped_brightness(min_brightness=theme_const.FOREGROUND_MIN_BRIGHTNESS) 15 tint = Color.from_hex(tint.strip()).with_capped_brightness(max_brightness=theme_const.BACKGROUND_MAX_BRIGHTNESS) 16 alert = Color.from_hex(alert.strip()).with_capped_brightness(max_brightness=theme_const.FOREGROUND_MIN_BRIGHTNESS) 17 except Exception: 18 raise InvalidThemeSlug() 19 else: 20 return (focus, 21 accent, 22 tint, 23 alert) 24 25 26 def format_theme_slug(focus, accent, tint, alert): 27 return u','.join([focus.hex_rgb, 28 accent.hex_rgb, 29 tint.hex_rgb, 30 alert.hex_rgb]).upper() 31 32 33 class InvalidThemeSlug(ValueError): 34 pass 35 36 37 def copy_theme_slug_to_clipboard(theme_slug): 38 eveui.clipboard.set(theme_slug) 39 message_player(localization.GetByLabel('UI/SystemMenu/GeneralSettings/ColorTheme/ThemeCopiedToClipboard'))