def display(self, caller, objID, objType, forum, msgID=None): self.caller = caller self.msgSpec = gdata.mailboxSpec[objType, gdata.mailboxStripLang(forum)] messages = client.get(objID)._messages if self.msgSpec[1] == None: # cannot reply return elif self.msgSpec[1] == "forum": self.recipientObjID = [objID] self.recipientForum = forum if msgID != None: self.topic = messages[msgID]["topic"] else: self.topic = "" elif self.msgSpec[1] == "sender" and msgID != None: message = messages[msgID] self.recipientObjID = [message["senderID"]] self.recipientForum = "INBOX" self.topic = message["topic"] if self.topic[:4] != "Re: ": self.topic = "Re: %s" % self.topic elif self.msgSpec[1]: self.recipientObjID = [] self.recipientForum = "INBOX" self.topic = "" self.show() self.win.show() # register for updates if self not in gdata.updateDlgs: gdata.updateDlgs.append(self)
def display(self, caller, objID, objType, forum, msgID = None): self.caller = caller self.msgSpec = gdata.mailboxSpec[objType, gdata.mailboxStripLang(forum)] messages = client.get(objID)._messages if self.msgSpec[1] == None: # cannot reply return elif self.msgSpec[1] == "forum": self.recipientObjID = [objID] self.recipientForum = forum if msgID != None: self.topic = messages[msgID]["topic"] else: self.topic = "" elif self.msgSpec[1] == "sender" and msgID != None: message = messages[msgID] self.recipientObjID = [message["senderID"]] self.recipientForum = "INBOX" self.topic = message["topic"] if self.topic[:4] != "Re: ": self.topic = "Re: %s" % self.topic elif self.msgSpec[1]: self.recipientObjID = [] self.recipientForum = "INBOX" self.topic = "" self.show() self.win.show() # register for updates if self not in gdata.updateDlgs: gdata.updateDlgs.append(self)
def onForumSelected(self, widget, action, data): selItem = self.win.vForums.selection[0] if selItem.tObjID == Const.OID_NONE: # select last valid for item in self.win.vForums.items: if item.tObjID == self.selectedObjID and item.tForum == self.selectedForum: self.win.vForums.selectItem(item) break return self.selectedObjID = selItem.tObjID self.selectedForum = selItem.tForum self.selectedType = selItem.tType self.win.vNewTopic.enabled = 1 self.win.vAllReaded.enabled = 1 self.win.vDeleteAll.enabled = 1 player = client.getPlayer() playerid = player.oid objMessages = client.get(selItem.tObjID)._messages ids = objMessages.keys() ids.sort() ids.reverse() items = [] for messageID in ids: message = objMessages[messageID] if message["forum"] == selItem.tForum: # ignore by universe, local (private messages), or galaxy if ((selItem.tObjID == Const.OID_UNIVERSE and message["sender"] in self.uignore) or (selItem.tObjID == playerid and message["sender"] in self.lignore) or (message["sender"] in self.gignore)): continue item = self._processMessage(message) item.tMsgID = messageID item.tObjID = selItem.tObjID item.tForum = selItem.tForum item.tType = selItem.tType items.append(item) self.win.vMessages.items = items self.win.vMessages.itemsChanged() if self.selectedForum != "EVENTS": # reset messages scrollbar position self.win.vMessages.bar.slider.position = 0 self.win.vMessages.itemsChanged() self.win.vMessage.text = [""] self.win.vReply.enabled = 0 self.win.vNewTopic.enabled = gdata.mailboxSpec[selItem.tType, gdata.mailboxStripLang(selItem.tForum)][1] != None self.win.vDelete.enabled = len(self.win.vMessages.selection) > 0
def onMessageSelected(self, widget, action, data): selItem = self.win.vMessages.selection[0] selItem.tState = " " message = client.get(selItem.tObjID)._messages[selItem.tMsgID] if "data" not in message: selItem.foreground = gdata.sevColors[gdata.NONE] self.win.vMessages.itemsChanged() message["readed"] = 1 text = [] if "data" in message: text = osci.messages.getFullMessageText(message).split("\n") if "text" in message: text.extend(message["text"].split("\n")) self.win.vMessage.text = text self.win.vMessage.offsetRow = 0 self.win.vMessage.vertScrollbar.slider.position = 0 self.win.vReply.enabled = gdata.mailboxSpec[selItem.tType, gdata.mailboxStripLang(selItem.tForum)][1] != None self.win.vDelete.enabled = 1 self.show(updateForum = 0)
def onMessageSelected(self, widget, action, data): selItem = self.win.vMessages.selection[0] selItem.tState = " " message = client.get(selItem.tObjID)._messages[selItem.tMsgID] if "data" not in message: selItem.foreground = gdata.sevColors[gdata.NONE] self.win.vMessages.itemsChanged() message["readed"] = 1 text = [] if message.has_key("data"): text = messages.getFullMessageText(message).split("\n") if message.has_key("text"): text.extend(message["text"].split("\n")) self.win.vMessage.text = text self.win.vMessage.offsetRow = 0 self.win.vMessage.vertScrollbar.slider.position = 0 self.win.vReply.enabled = gdata.mailboxSpec[selItem.tType, gdata.mailboxStripLang(selItem.tForum)][1] != None self.win.vDelete.enabled = 1 self.show(updateForum = 0)
def onForumSelected(self, widget, action, data): selItem = self.win.vForums.selection[0] if selItem.tObjID == OID_NONE: # select last valid for item in self.win.vForums.items: if item.tObjID == self.selectedObjID and \ item.tForum == self.selectedForum: self.win.vForums.selectItem(item) break return self.selectedObjID = selItem.tObjID self.selectedForum = selItem.tForum self.selectedType = selItem.tType self.win.vNewTopic.enabled = 1 self.win.vAllReaded.enabled = 1 self.win.vDeleteAll.enabled = 1 player = client.getPlayer() playerid = player.oid objMessages = client.get(selItem.tObjID)._messages ids = objMessages.keys() ids.sort() ids.reverse() topics = [] items = [] for messageID in ids: message = objMessages[messageID] if message["forum"] == selItem.tForum: # ignore by universe, local (private messages), or galaxy if selItem.tObjID == OID_UNIVERSE: if message["sender"] in self.uignore: continue; elif selItem.tObjID == playerid: if message["sender"] in self.lignore: continue; else: if message["sender"] in self.gignore: continue; # regenerate topics for messages with data if message.has_key("data") and message["topic"] == "EVENT": sourceID, msgID, locationID, turn, data = message["data"] message["topic"] = messages.getMsgText(msgID, data).split("\n")[0] topic = message["topic"] item = ui.Item(topic) if topic not in topics: topics.append(topic) #item = ui.Item(topic, tObjID = selItem.tObjID, tForum = selItem.tForum, # tMgsId = -1, font = "normal-bold") #items.append(item) if message.has_key("data"): sourceID, msgID, locationID, turn, data = message["data"] item.tLocationID = locationID item.tSourceID = sourceID obj = client.get(sourceID, noUpdate = 1, publicOnly = 1) #Custom name in "sender" if hasattr(obj,'customname') and obj.customname: item.tSender = _('"%s"') % obj.customname else: item.tSender = message["sender"] foreground = gdata.sevColors[messages.getMsgSeverity(msgID)] if message["readed"]: state = _(" ") else: state = _("N") else: item.tSender = message["sender"] if message["readed"]: foreground = gdata.sevColors[gdata.NONE] if message["replied"]: state = _("R") else: state = _(" ") else: foreground = gdata.sevColors[gdata.MIN] state = _("N") date = time.strftime(_("%m-%d %H:%M"), time.localtime(message["time"])) #if date == time.strftime(_("%Y-%m-%d"), time.localtime()): # date = time.strftime(_("%H:%M"), time.localtime(message["time"])) item.tObjID = selItem.tObjID item.tForum = selItem.tForum item.tMsgID = messageID item.foreground = foreground item.tState = state item.tDate = date item.tDate_raw = message["time"] item.tType = selItem.tType items.append(item) self.win.vMessages.items = items self.win.vMessages.itemsChanged() if self.selectedForum != "EVENTS": # reset messages scrollbar position self.win.vMessages.bar.slider.position = 0 self.win.vMessages.itemsChanged() self.win.vMessage.text = [""] self.win.vReply.enabled = 0 self.win.vNewTopic.enabled = gdata.mailboxSpec[selItem.tType, gdata.mailboxStripLang(selItem.tForum)][1] != None self.win.vDelete.enabled = len(self.win.vMessages.selection) > 0
def onForumSelected(self, widget, action, data): selItem = self.win.vForums.selection[0] if selItem.tObjID == Const.OID_NONE: # select last valid for item in self.win.vForums.items: if item.tObjID == self.selectedObjID and \ item.tForum == self.selectedForum: self.win.vForums.selectItem(item) break return self.selectedObjID = selItem.tObjID self.selectedForum = selItem.tForum self.selectedType = selItem.tType self.win.vNewTopic.enabled = 1 self.win.vAllReaded.enabled = 1 self.win.vDeleteAll.enabled = 1 player = client.getPlayer() playerid = player.oid objMessages = client.get(selItem.tObjID)._messages ids = objMessages.keys() ids.sort() ids.reverse() topics = [] items = [] for messageID in ids: message = objMessages[messageID] if message["forum"] == selItem.tForum: # ignore by universe, local (private messages), or galaxy if selItem.tObjID == Const.OID_UNIVERSE: if message["sender"] in self.uignore: continue; elif selItem.tObjID == playerid: if message["sender"] in self.lignore: continue; else: if message["sender"] in self.gignore: continue; # regenerate topics for messages with data if message.has_key("data") and message["topic"] == "EVENT": sourceID, msgID, locationID, turn, data = message["data"] message["topic"] = messages.getMsgText(msgID, data).split("\n")[0] topic = message["topic"] item = ui.Item(topic) if topic not in topics: topics.append(topic) #item = ui.Item(topic, tObjID = selItem.tObjID, tForum = selItem.tForum, # tMgsId = -1, font = "normal-bold") #items.append(item) if message.has_key("data"): sourceID, msgID, locationID, turn, data = message["data"] item.tLocationID = locationID item.tSourceID = sourceID obj = client.get(sourceID, noUpdate = 1, publicOnly = 1) #Custom name in "sender" if hasattr(obj,'customname') and obj.customname: item.tSender = _('"%s"') % obj.customname else: item.tSender = message["sender"] foreground = gdata.sevColors[messages.getMsgSeverity(msgID)] if message["readed"]: state = _(" ") else: state = _("N") else: item.tSender = message["sender"] if message["readed"]: foreground = gdata.sevColors[gdata.NONE] if message["replied"]: state = _("R") else: state = _(" ") else: foreground = gdata.sevColors[gdata.MIN] state = _("N") date = time.strftime(_("%m-%d %H:%M"), time.localtime(message["time"])) #if date == time.strftime(_("%Y-%m-%d"), time.localtime()): # date = time.strftime(_("%H:%M"), time.localtime(message["time"])) item.tObjID = selItem.tObjID item.tForum = selItem.tForum item.tMsgID = messageID item.foreground = foreground item.tState = state item.tDate = date item.tDate_raw = message["time"] item.tType = selItem.tType items.append(item) self.win.vMessages.items = items self.win.vMessages.itemsChanged() if self.selectedForum != "EVENTS": # reset messages scrollbar position self.win.vMessages.bar.slider.position = 0 self.win.vMessages.itemsChanged() self.win.vMessage.text = [""] self.win.vReply.enabled = 0 self.win.vNewTopic.enabled = gdata.mailboxSpec[selItem.tType, gdata.mailboxStripLang(selItem.tForum)][1] != None self.win.vDelete.enabled = len(self.win.vMessages.selection) > 0