manageLabels.py (4122B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\shared\neocom\addressBook\manageLabels.py 2 import localization 3 from carbonui import uiconst 4 from eve.client.script.ui.control import eveLabel 5 from carbonui.button.group import ButtonGroup 6 from eve.client.script.ui.shared.neocom.corporation.corpPanelConst import CorpPanel 7 from eve.client.script.ui.shared.neocom.evemail import ManageLabelsBase 8 from eveexceptions import UserError 9 from player_messaging.client.ui_message import prompt_player_fsd_dialog 10 __author__ = 'aevar' 11 12 class ManageLabels(ManageLabelsBase): 13 __guid__ = 'form.ManageLabels' 14 15 def ApplyAttributes(self, attributes): 16 ManageLabelsBase.ApplyAttributes(self, attributes) 17 labelType = attributes.labelType 18 self.storedSelection = [] 19 if labelType == 'contact': 20 labelText = localization.GetByLabel('UI/PeopleAndPlaces/LabelsTextContacts') 21 elif labelType == 'corpcontact': 22 labelText = localization.GetByLabel('UI/PeopleAndPlaces/LabelsTextCorpContacts') 23 else: 24 labelText = localization.GetByLabel('UI/PeopleAndPlaces/LabelsTextAllianceContacts') 25 self.labelType = labelType 26 self.sr.textCont.state = uiconst.UI_DISABLED 27 eveLabel.EveLabelMedium(text=labelText, parent=self.sr.textCont, padLeft=10, state=uiconst.UI_DISABLED, align=uiconst.TOTOP) 28 ButtonGroup(btns=[[localization.GetByLabel('UI/Mail/AssignLabel'), 29 self.AssignLabelFromBtn, 30 None, 31 81], [localization.GetByLabel('UI/Mail/LabelRemove'), 32 self.RemoveLabelFromBtn, 33 None, 34 81]], parent=self.sr.bottom, idx=0, padTop=4) 35 self.LoadScroll() 36 37 def AssignLabelFromBtn(self, *args): 38 self.ManageLabel(assign=1) 39 40 def RemoveLabelFromBtn(self, *args): 41 self.ManageLabel(assign=0) 42 43 def ManageLabel(self, assign = 1): 44 labelsChecked = self.FindLabelsChecked() 45 numLabels = len(labelsChecked) 46 scroll = None 47 if numLabels < 1: 48 raise UserError('CustomNotify', {'notify': localization.GetByLabel('UI/PeopleAndPlaces/NoLabelsSelected')}) 49 if self.labelType == 'contact': 50 wnd = sm.GetService('addressbook').GetWnd() 51 if wnd: 52 scroll = wnd.FindChild('rightScroll') 53 else: 54 wnd = sm.GetService('corpui').GetWnd() 55 if wnd: 56 if self.labelType == 'corpcontact': 57 scroll = wnd.FindChild('corpcontactsform', 'rightScroll') 58 elif self.labelType == 'alliancecontact': 59 scroll = wnd.FindChild(CorpPanel.ALLIANCES_CONTACTS, 'rightScroll') 60 if not wnd: 61 raise UserError('CustomNotify', {'notify': localization.GetByLabel('UI/PeopleAndPlaces/NoContactsSelected')}) 62 if scroll is None: 63 selectedContacts = [] 64 else: 65 selectedContacts = scroll.GetSelected() 66 try: 67 contactIDs = [ selIDs.charID for selIDs in selectedContacts ] 68 except: 69 raise UserError('CustomNotify', {'notify': localization.GetByLabel('UI/PeopleAndPlaces/NoContactsSelected')}) 70 71 sum = 0 72 for labelID in labelsChecked: 73 sum = sum + labelID 74 75 numLabels = len(labelsChecked) 76 numContacts = len(contactIDs) 77 if numContacts > 0: 78 if assign: 79 text = localization.GetByLabel('UI/PeopleAndPlaces/LabelsAssigned', numLabels=numLabels, numContacts=numContacts) 80 else: 81 text = localization.GetByLabel('UI/PeopleAndPlaces/LabelsRemoved', numLabels=numLabels, numContacts=numContacts) 82 prompt_player_fsd_dialog('CustomNotify', {'notify': text}) 83 else: 84 raise UserError('CustomNotify', {'notify': localization.GetByLabel('UI/PeopleAndPlaces/NoContactsSelected')}) 85 if assign == 1: 86 sm.StartService('addressbook').AssignLabelFromWnd(contactIDs, sum, displayNotify=0) 87 else: 88 sm.StartService('addressbook').RemoveLabelFromWnd(contactIDs, sum)