transaction_history_window_controller.py (3318B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\dynamicresources\client\ui\transaction_history_window_controller.py 2 import eveformat 3 from carbon.common.script.util.format import FmtDate 4 from carbonui import uiconst 5 from carbonui.primitives.container import Container 6 from carbonui.primitives.sprite import Sprite 7 from carbonui.util.bunch import Bunch 8 from eve.client.script.ui.control.entries.generic import Generic 9 from eve.client.script.ui.control.entries.util import GetFromClass 10 from eve.client.script.ui.control.eveLabel import EveLabelLarge 11 from eveservices.menu import GetMenuService 12 from inventorycommon.const import typeCharacter 13 14 class TransactionHistoryWindowController(object): 15 16 def __init__(self): 17 self.dynamicResourceSvc = sm.GetService('dynamicResourceSvc') 18 19 def GetMainBankAccessHistoryListItems(self): 20 entries = [] 21 for entry in self.dynamicResourceSvc.GetESSAccessHistoryForCurrentSystem()['main']: 22 charid = entry['characterID'] 23 amount = entry['amount'] 24 playerName = cfg.eveowners.Get(charid).name 25 entry = GetFromClass(TransactionListEntry, {'label': '<t>%s<t>%s' % (playerName, eveformat.isk_readable(amount)), 26 'sortValues': ['', playerName, amount], 27 'charID': charid, 28 'info': Bunch(typeID=typeCharacter, name=playerName)}) 29 entries.append(entry) 30 31 return entries 32 33 def GetReserveBankAccessHistoryListItems(self): 34 entries = [] 35 for entry in self.dynamicResourceSvc.GetESSAccessHistoryForCurrentSystem()['reserve']: 36 charid = entry['characterID'] 37 amount = entry['amount'] 38 date = entry['lastTheft'] 39 playerName = cfg.eveowners.Get(charid).name 40 entry = GetFromClass(TransactionListEntry, {'label': '<t>%s<t>%s<t>%s' % (playerName, FmtDate(date), eveformat.isk_readable(amount)), 41 'charID': charid, 42 'sortValues': ['', 43 playerName, 44 date, 45 amount], 46 'info': Bunch(typeID=typeCharacter, name=playerName)}) 47 entries.append(entry) 48 49 return entries 50 51 52 class TransactionListEntry(Generic): 53 __guid__ = 'listentry.User' 54 isDragObject = True 55 default_rowHeight = 32 56 57 def Startup(self, *args): 58 self.picCont = Container(parent=self, align=uiconst.TOLEFT_NOPUSH, width=32, height=32) 59 self.portraitSprite = Sprite(parent=self.picCont, name='portraitSprite', state=uiconst.UI_DISABLED, width=32, height=32) 60 self.sr.label = EveLabelLarge(align=uiconst.TOALL) 61 Generic.Startup(self, args) 62 self.charID = None 63 64 def GetHeight(self, *args): 65 return TransactionListEntry.default_rowHeight 66 67 def Load(self, node): 68 self.charID = node.charID 69 Generic.Load(self, node) 70 self.LoadPortrait(node) 71 72 def LoadPortrait(self, node): 73 self.photoSvc = sm.StartService('photo') 74 self.photoSvc.GetPortrait(node.charID, 32, self.portraitSprite) 75 76 def GetDragData(self): 77 return self.sr.node.scroll.GetSelectedNodes(self.sr.node) 78 79 def GetMenu(self): 80 menuSvc = GetMenuService() 81 return menuSvc.GetMenuForOwner(self.charID)