コード例 #1
0
 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)
コード例 #2
0
 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)
コード例 #3
0
ファイル: MessagesDlg.py プロジェクト: taislin/outerspace
    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
コード例 #4
0
ファイル: MessagesDlg.py プロジェクト: taislin/outerspace
    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)
コード例 #5
0
ファイル: MessagesDlg.py プロジェクト: Lukc/ospace-lukc
	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)
コード例 #6
0
ファイル: MessagesDlg.py プロジェクト: Lukc/ospace-lukc
	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
コード例 #7
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