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 []