killRightsPanel.py (3092B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\neocom\charsheet\killRightsPanel.py 2 import blue 3 from carbonui.primitives.container import Container 4 from eve.client.script.ui.control.entries.header import Header 5 from eve.client.script.ui.control.entries.util import GetFromClass 6 from eve.client.script.ui.control.eveScroll import Scroll 7 from eve.client.script.ui.shared.killRights import KillRightsEntry 8 from localization import GetByLabel 9 10 class KillRightsPanel(Container): 11 default_name = 'KillRightsPanel' 12 __notifyevents__ = ['OnKillRightSold', 13 'OnKillRightExpired', 14 'OnKillRightSellCancel', 15 'OnKillRightCreated', 16 'OnKillRightUsed'] 17 18 def ApplyAttributes(self, attributes): 19 Container.ApplyAttributes(self, attributes) 20 sm.RegisterNotify(self) 21 self.scroll = Scroll(parent=self, padding=(0, 4, 0, 4)) 22 23 def LoadPanel(self, *args): 24 scrolllist = [] 25 killRights = sm.GetService('bountySvc').GetMyKillRights() 26 currentTime = blue.os.GetWallclockTime() 27 myKillRights = filter(lambda x: x.fromID == session.charid and currentTime < x.expiryTime, killRights) 28 otherKillRights = filter(lambda x: x.toID == session.charid and currentTime < x.expiryTime, killRights) 29 charIDsToPrime = set() 30 for eachKR in myKillRights: 31 charIDsToPrime.add(eachKR.toID) 32 33 for eachKR in otherKillRights: 34 charIDsToPrime.add(eachKR.fromID) 35 36 cfg.eveowners.Prime(charIDsToPrime) 37 if myKillRights: 38 scrolllist.append(GetFromClass(Header, {'label': GetByLabel('UI/InfoWindow/CanKill'), 39 'hideLines': True})) 40 for killRight in myKillRights: 41 scrolllist.append(GetFromClass(KillRightsEntry, {'charID': killRight.toID, 42 'expiryTime': killRight.expiryTime, 43 'killRight': killRight, 44 'isMine': True})) 45 46 if otherKillRights: 47 scrolllist.append(GetFromClass(Header, {'label': GetByLabel('UI/InfoWindow/CanBeKilledBy'), 48 'hideLines': True})) 49 for killRight in otherKillRights: 50 scrolllist.append(GetFromClass(KillRightsEntry, {'charID': killRight.fromID, 51 'expiryTime': killRight.expiryTime, 52 'killRight': killRight, 53 'isMine': False})) 54 55 self.scroll.sr.id = 'charsheet_killrights' 56 self.scroll.Load(contentList=scrolllist, noContentHint=GetByLabel('UI/CharacterSheet/CharacterSheetWindow/KillsTabs/NoKillRightsFound')) 57 58 def _ReloadPanel(self): 59 if self.display: 60 self.LoadPanel() 61 62 def OnKillRightSold(self, killRightID): 63 self._ReloadPanel() 64 65 def OnKillRightExpired(self, killRightID): 66 self._ReloadPanel() 67 68 def OnKillRightSellCancel(self, killRightID): 69 self._ReloadPanel() 70 71 def OnKillRightCreated(self, killRightID, fromID, toID, expiryTime): 72 self._ReloadPanel() 73 74 def OnKillRightUsed(self, killRightID, toID): 75 self._ReloadPanel()