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

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