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

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)