NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

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'))