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

ignoreListWnd.py (3550B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\neocom\contracts\ignoreListWnd.py
      2 import localization
      3 from carbonui import uiconst
      4 from carbonui.primitives.container import Container
      5 from eve.client.script.ui.control import eveLabel, eveScroll
      6 from carbonui.button.group import ButtonGroup
      7 from eve.client.script.ui.control.entries.util import GetFromClass
      8 from carbonui.control.window import Window
      9 from eve.client.script.ui.shared.userentry import User
     10 from eve.client.script.util.contractutils import GetContractIcon
     11 from eve.common.lib import appConst as const
     12 
     13 class IgnoreListWindow(Window):
     14     __guid__ = 'form.IgnoreListWindow'
     15     default_windowID = 'contractignorelist'
     16 
     17     def ApplyAttributes(self, attributes):
     18         Window.ApplyAttributes(self, attributes)
     19         self.locationInfo = {}
     20         self.scope = uiconst.SCOPE_INGAME
     21         self.SetCaption(localization.GetByLabel('UI/Contracts/ContractsWindow/IgnoreList'))
     22         self.icon = GetContractIcon(const.conTypeNothing)
     23         self.SetMinSize([200, 200], 1)
     24         self.MakeUnMinimizable()
     25         self.ModalPosition()
     26         Container(name='push', parent=self.sr.main, align=uiconst.TOLEFT, width=const.defaultPadding)
     27         Container(name='push', parent=self.sr.main, align=uiconst.TORIGHT, width=const.defaultPadding)
     28         Container(name='push', parent=self.sr.main, align=uiconst.TOBOTTOM, height=const.defaultPadding)
     29         hp = Container(name='hintparent', parent=self.sr.main, align=uiconst.TOTOP, height=16, state=uiconst.UI_HIDDEN)
     30         t = eveLabel.EveLabelMedium(text=localization.GetByLabel('UI/Contracts/ContractsWindow/IgnoreHeader'), parent=hp, top=-3, width=self.minsize[0] - 32, state=uiconst.UI_DISABLED, align=uiconst.CENTER)
     31         hp.state = uiconst.UI_DISABLED
     32         hp.height = t.height + 8
     33         sub = Container(name='subparent', parent=self.sr.main, align=uiconst.TOBOTTOM, height=26)
     34         self.sr.ignoreListParent = ignoreListParent = Container(name='ignoreList', align=uiconst.TOALL, pos=(0, 0, 0, 0), parent=self.sr.main)
     35         self.sr.ignoreList = ignoreList = eveScroll.Scroll(parent=ignoreListParent)
     36         ignoreList.sr.id = 'ignoreList'
     37         captionparent = Container(name='captionparent', parent=self.sr.main, align=uiconst.TOPLEFT, left=128, top=36, idx=0)
     38         caption = eveLabel.CaptionLabel(text='', parent=captionparent)
     39         self.closeBtn = ButtonGroup(btns=[[localization.GetByLabel('UI/Generic/Close'),
     40           self.Close,
     41           None,
     42           81]], parent=sub)
     43         self.PopulateIgnoreList()
     44         return self
     45 
     46     def PopulateIgnoreList(self):
     47         headers = []
     48         scrolllist = []
     49         list = settings.user.ui.Get('contracts_ignorelist', [])
     50         for l in list:
     51             scrolllist.append(GetFromClass(User, {'charID': l,
     52              'label': '%s<t>' % cfg.eveowners.Get(l).name,
     53              'OnDblClick': self.DblClickEntry}))
     54 
     55         self.sr.ignoreList.Load(contentList=scrolllist, headers=headers)
     56         if len(scrolllist) > 0:
     57             self.sr.ignoreList.ShowHint()
     58         else:
     59             self.sr.ignoreList.ShowHint(localization.GetByLabel('UI/Contracts/ContractEntry/NoIgnored'))
     60 
     61     def DblClickEntry(self, entry, *args):
     62         list = settings.user.ui.Get('contracts_ignorelist', [])
     63         list = [ l for l in list if l != entry.sr.node.charID ]
     64         settings.user.ui.Set('contracts_ignorelist', list)
     65         self.PopulateIgnoreList()
     66         sm.GetService('contracts').ClearCache()