miscPanel.py (6770B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\inflight\overviewSettings\miscPanel.py 2 from carbonui.primitives.container import Container 3 from carbonui import uiconst 4 from carbonui.primitives.layoutGrid import LayoutGrid 5 from carbonui.control.button import Button 6 from carbonui.control.checkbox import Checkbox 7 from eve.client.script.ui.control import eveLabel 8 from carbonui.button.group import ButtonGroup 9 from eve.client.script.ui.inflight.overviewSettings.panelUtils import ResetCbOnReloadingOverviewProfile 10 from localization import GetByLabel 11 import overviewPresets.overviewSettingsConst as oConst 12 13 class MiscPanel(Container): 14 default_name = 'miscPanel' 15 __notifyevents__ = ['OnReloadingOverviewProfile'] 16 17 def ApplyAttributes(self, attributes): 18 super(MiscPanel, self).ApplyAttributes(attributes) 19 self.overviewPresetSvc = sm.GetService('overviewPresetSvc') 20 self.settingCheckboxes = [] 21 self.ConstructCheckboxes() 22 sm.RegisterNotify(self) 23 24 def ConstructCheckboxes(self): 25 overviewBroadcastsToTop = Checkbox(text=GetByLabel('UI/Overview/MoveBroadcastersToTop'), parent=self, settingsKey=oConst.SETTING_BROADCAST_TO_TOP, checked=self.overviewPresetSvc.GetSettingValueBroadcastToTop(), settingsPath=('user', 'overview'), align=uiconst.TOTOP) 26 self.settingCheckboxes.append(overviewBroadcastsToTop) 27 self.targetRangeSubCheckboxes = [] 28 eveLabel.EveCaptionSmall(text=GetByLabel('UI/Overview/BracketAndTargetsHeader'), parent=self, align=uiconst.TOTOP, state=uiconst.UI_DISABLED, padTop=16) 29 targetCrosshairCb = Checkbox(text=GetByLabel('UI/SystemMenu/GeneralSettings/Inflight/ShowTargettingCrosshair'), parent=self, settingsKey=oConst.SETTING_TARGET_CROSSHAIR, checked=self.overviewPresetSvc.GetSettingValueOrDefaultFromName(oConst.SETTING_TARGET_CROSSHAIR, True), settingsPath=('user', 'overview'), align=uiconst.TOTOP, callback=self.MiscCheckboxChange) 30 self.settingCheckboxes.append(targetCrosshairCb) 31 dmgIndicatorCb = Checkbox(text=GetByLabel('UI/Overview/DisplayDamageIndications'), parent=self, settingsKey=oConst.SETTING_BIGGEST_DMG_DEALER, checked=self.overviewPresetSvc.GetSettingValueOrDefaultFromName(oConst.SETTING_BIGGEST_DMG_DEALER, True), settingsPath=('user', 'overview'), align=uiconst.TOTOP, callback=self.MiscCheckboxChange) 32 self.settingCheckboxes.append(dmgIndicatorCb) 33 moduleHairlineCb = Checkbox(text=GetByLabel('UI/Overview/DisplayModuleLinks'), parent=self, settingsKey=oConst.SETTING_MODULE_HAIRLINES, checked=self.overviewPresetSvc.GetSettingValueOrDefaultFromName(oConst.SETTING_MODULE_HAIRLINES, True), settingsPath=('user', 'overview'), align=uiconst.TOTOP) 34 self.settingCheckboxes.append(moduleHairlineCb) 35 targetRangeCb = Checkbox(text=GetByLabel('UI/Overview/DisplayRangeBrackets'), parent=self, settingsKey=oConst.SETTING_TARGET_RANGE, checked=self.overviewPresetSvc.GetSettingValueOrDefaultFromName(oConst.SETTING_TARGET_RANGE, True), settingsPath=('user', 'overview'), align=uiconst.TOTOP, callback=self.MiscCheckboxChange) 36 self.settingCheckboxes.append(targetRangeCb) 37 configName = 'showCategoryInTargetRange_%s' % const.categoryShip 38 targetRangeShipsCb = Checkbox(text=GetByLabel('UI/Overview/Ships'), parent=self, settingsKey=configName, checked=self.overviewPresetSvc.GetSettingValueOrDefaultFromName(configName, True), settingsPath=('user', 'overview'), align=uiconst.TOTOP, callback=self.MiscCheckboxChange, padLeft=8) 39 self.settingCheckboxes.append(targetRangeShipsCb) 40 self.targetRangeSubCheckboxes.append(targetRangeShipsCb) 41 configName = 'showCategoryInTargetRange_%s' % const.categoryEntity 42 targetRangeNPCsCb = Checkbox(text=GetByLabel('UI/Overview/NPCs'), parent=self, settingsKey=configName, checked=self.overviewPresetSvc.GetSettingValueOrDefaultFromName(configName, True), settingsPath=('user', 'overview'), align=uiconst.TOTOP, callback=self.MiscCheckboxChange, padLeft=8) 43 self.settingCheckboxes.append(targetRangeNPCsCb) 44 self.targetRangeSubCheckboxes.append(targetRangeNPCsCb) 45 configName = 'showCategoryInTargetRange_%s' % const.categoryDrone 46 targetRangeDronesCb = Checkbox(text=GetByLabel('UI/Overview/Drones'), parent=self, settingsKey=configName, checked=self.overviewPresetSvc.GetSettingValueOrDefaultFromName(configName, True), settingsPath=('user', 'overview'), align=uiconst.TOTOP, callback=self.MiscCheckboxChange, padLeft=8) 47 self.settingCheckboxes.append(targetRangeDronesCb) 48 self.targetRangeSubCheckboxes.append(targetRangeDronesCb) 49 self.ChangeStateOfSubCheckboxes(targetRangeCb) 50 buttonGroup = ButtonGroup(parent=self, align=uiconst.TOBOTTOM) 51 buttonGroup.AddButton(GetByLabel('UI/Overview/ImportOverviewSettings'), sm.GetService('tactical').ImportOverviewSettings) 52 buttonGroup.AddButton(GetByLabel('UI/Overview/ExportOverviewSettings'), sm.GetService('tactical').ExportOverviewSettings) 53 buttonGroup.AddButton(GetByLabel('UI/Overview/ResetOverview'), self.ResetAllOverviewSettings) 54 55 def MiscCheckboxChange(self, cb, *args): 56 configName = cb.GetSettingsKey() 57 if configName == oConst.SETTING_TARGET_RANGE: 58 self.ChangeStateOfSubCheckboxes(cb) 59 elif configName == oConst.SETTING_BIGGEST_DMG_DEALER: 60 if cb.checked: 61 sm.GetService('bracket').EnableShowingDamageDealers() 62 else: 63 sm.GetService('bracket').DisableShowingDamageDealers() 64 elif configName in (oConst.SETTING_TARGET_CROSSHAIR,): 65 sm.GetService('bracket').Reload() 66 elif cb in self.targetRangeSubCheckboxes: 67 sm.GetService('bracket').ShowInTargetRange() 68 69 def ChangeStateOfSubCheckboxes(self, cb): 70 if cb.checked: 71 sm.GetService('bracket').EnableInTargetRange() 72 for subCb in self.targetRangeSubCheckboxes: 73 subCb.Enable() 74 subCb.opacity = 1.0 75 76 else: 77 sm.GetService('bracket').DisableInTargetRange() 78 for subCb in self.targetRangeSubCheckboxes: 79 subCb.Disable() 80 subCb.opacity = 0.3 81 82 def ResetAllOverviewSettings(self, *args): 83 self.overviewPresetSvc.ResetOverviewSettingsToDefaultWithPrompt() 84 ReloadOverviewSettingsWindow() 85 86 def OnReloadingOverviewProfile(self): 87 ResetCbOnReloadingOverviewProfile(self.overviewPresetSvc, self.settingCheckboxes) 88 89 90 def ReloadOverviewSettingsWindow(): 91 from eve.client.script.ui.inflight.overviewSettings.overviewSettingsWnd import OverviewSettingsWnd 92 OverviewSettingsWnd.CloseIfOpen() 93 OverviewSettingsWnd.Open()