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

menus.py (3481B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\cosmetics\client\ships\qa\menus.py
      2 from carbon.common.script.sys.serviceConst import ROLE_QA
      3 from carbonui.control.contextMenu.menuData import MenuData
      4 from cosmetics.client.shipSkinComponentSvc import get_ship_skin_component_svc
      5 from cosmetics.client.shipSkinComponentTradingSvc import get_ship_skin_component_trading_svc
      6 from cosmetics.client.shipSkinDataSvc import get_ship_skin_data_svc
      7 from cosmetics.client.shipSkinDesignSvc import get_ship_skin_design_svc
      8 from cosmetics.client.shipSkinLicensesSvc import get_ship_skin_license_svc
      9 from cosmetics.client.shipSkinSequencingSvc import get_ship_skin_sequencing_svc
     10 from cosmetics.client.ships.qa.component_licenses_table import ComponentLicensesTableWindow
     11 from cosmetics.client.ships.qa.settings import is_sequencing_button_always_enabled, should_show_popup_if_skin_name_missing, show_unpublished_components, scene_debug_mode_setting, visualize_shape_ellipsoid
     12 from cosmetics.client.ships.qa.skin_licenses_table import SkinLicensesTableWindow, grant_license_from_design
     13 from cosmetics.client.ships.qa.skin_trading import expire_listing
     14 from cosmetics.client.ships.qa.tier_points import set_current_design_qa_tier_points
     15 from cosmetics.client.liveIconCacheUtils import clear_all_cached_maps, open_cache_directory_in_explorer
     16 
     17 def is_qa():
     18     if not session:
     19         return False
     20     return bool(session.role & ROLE_QA)
     21 
     22 
     23 def add_qa_context_menu(menu_data):
     24     menu_data.AddSeparator()
     25     m = MenuData()
     26     m.AddEntry('Sequencing', subMenuData=add_qa_submenu_for_sequencing())
     27     m.AddEntry('Bypass popups', subMenuData=add_qa_submenu_for_popups())
     28     m.AddEntry('Flush Client Service Cache', _flush_client_service_cache)
     29     m.AddEntry('Component Licenses', ComponentLicensesTableWindow.Open)
     30     m.AddEntry('SKIN Licenses', SkinLicensesTableWindow.Open)
     31     m.AddCheckbox('Show unpublished components', show_unpublished_components)
     32     m.AddCheckbox('3d Scene Debug Mode', scene_debug_mode_setting)
     33     m.AddCheckbox('Visualize shapeEllipsoid', visualize_shape_ellipsoid)
     34     m.AddEntry('Clear icon cache', clear_all_cached_maps)
     35     m.AddEntry('Open icon cache folder', open_cache_directory_in_explorer)
     36     menu_data.AddEntry(text='QA', subMenuData=m)
     37 
     38 
     39 def add_qa_submenu_for_sequencing():
     40     m = MenuData()
     41     m.AddCheckbox("Enable 'Start Sequencing' despite errors", is_sequencing_button_always_enabled)
     42     return m
     43 
     44 
     45 def add_qa_submenu_for_popups():
     46     m = MenuData()
     47     m.AddCheckbox("Show 'Skin Name' popup when name is missing", should_show_popup_if_skin_name_missing)
     48     return m
     49 
     50 
     51 def _flush_client_service_cache():
     52     get_ship_skin_component_svc()._populate_cache()
     53     get_ship_skin_component_trading_svc()._clear_cache()
     54     get_ship_skin_sequencing_svc()._clear_cache()
     55     get_ship_skin_license_svc()._clear_cache()
     56     get_ship_skin_design_svc()._clear_cache()
     57     get_ship_skin_data_svc()._clear_cache()
     58 
     59 
     60 def get_qa_menu_for_tier_points():
     61     if is_qa():
     62         return [('Set QA Tier Points', set_current_design_qa_tier_points, ())]
     63     return []
     64 
     65 
     66 def get_qa_menu_for_design_card(skin_design_id):
     67     if is_qa():
     68         return [('QA: Grant License', lambda : grant_license_from_design(skin_design_id, 10), ())]
     69     return []
     70 
     71 
     72 def get_qa_menu_for_skin_listing_card(card, skin_listing_id):
     73     if is_qa():
     74         return [('QA: Expire...', lambda : expire_listing(card, skin_listing_id), ())]
     75     return []