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