コード例 #1
0
    def OnFind(self, evt):
        forum, objID, type, neco = self.selected

        objMessages = client.get(objID)._messages
        ids = objMessages.keys()
        ids.sort()
        ids.reverse()

        # limit key only to thes with corresponding forum
        ids = filter(lambda x: self.FilterForum(objMessages, forum, x), ids)

        found = False
        #i = self.findidx
        for i in range(self.findidx, len(ids)):
            #for messageID in ids:
            messageID = ids[i]
            message = objMessages[messageID]
            # 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]

            findstring = self.finddata.GetFindString().lower()
            topic = message["topic"].lower()
            if topic.find(findstring) > -1:
                self.findidx = i + 1
                self.SelectMessage(i)
                found = True
                break

            if message.has_key("text"):
                text = message["text"].lower()
                if text.find(findstring) > -1:
                    self.findidx = i + 1
                    self.SelectMessage(i)
                    found = True
                    break

            # if implement searching in automaticaly generated messages,
            # add searching here
            #if message.has_key("data"):
            #	sourceID, msgID, locationID, turn, data = message["data"]

            i += 1

        if not found:
            dlg = wx.MessageDialog(self, _("Find String Not Found"), _("Find"),
                                   wx.OK | wx.ICON_INFORMATION)
            dlg.ShowModal()
            dlg.Destroy()
            self.findidx = 0

        if self.finddlg:
            if not found:
                self.finddlg.SetFocus()
            else:
                self.finddlg.Destroy()
コード例 #2
0
ファイル: Messager.py プロジェクト: mozts2005/OuterSpace
	def OnFind(self, evt):
		forum, objID, type, neco = self.selected

		objMessages = client.get(objID)._messages
		ids = objMessages.keys()
		ids.sort()
		ids.reverse() 

		# limit key only to thes with corresponding forum
		ids = filter(lambda x: self.FilterForum(objMessages, forum, x), ids)

		found = False
		#i = self.findidx
		for i in range(self.findidx, len(ids)):
		#for messageID in ids:
			messageID = ids[i]
			message = objMessages[messageID]
			# 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]
			
			findstring = self.finddata.GetFindString().lower()
			topic = message["topic"].lower()
			if topic.find(findstring) > -1:
				self.findidx = i + 1
				self.SelectMessage(i)
				found = True
				break

			if message.has_key("text"):
				text = message["text"].lower()
				if text.find(findstring) > -1:
					self.findidx = i + 1
					self.SelectMessage(i)
					found = True
					break
			
			# if implement searching in automaticaly generated messages,
			# add searching here	
			#if message.has_key("data"):
			#	sourceID, msgID, locationID, turn, data = message["data"]
			
			i += 1
		
		if not found:
			dlg = wx.MessageDialog(self, _("Find String Not Found"),
					_("Find"), wx.OK | wx.ICON_INFORMATION)
			dlg.ShowModal()
			dlg.Destroy()
			self.findidx = 0

		if self.finddlg:
			if not found:
				self.finddlg.SetFocus()
			else:
				self.finddlg.Destroy()
コード例 #3
0
    def fillMessages(self, forum, objID, type):
        objMessages = client.get(objID)._messages
        ids = objMessages.keys()
        ids.sort()
        ids.reverse()

        i = 0
        self.itemData = {}
        self.list.Freeze()
        self.list.DeleteAllItems()
        for messageID in ids:
            message = objMessages[messageID]
            if message["forum"] == forum:
                # 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]

                self.list.InsertStringItem(i, "")
                self.list.SetStringItem(i, 3, message["topic"])
                item = self.list.GetItem(i)
                itemFont = item.GetFont()
                if message.has_key("data"):
                    sourceID, msgID, locationID, turn, data = message["data"]
                    color = wx.NamedColor(
                        sevColors[messages.getMsgSeverity(msgID)])
                    item.SetTextColour(color)
                    if message["readed"]:
                        state = _(" ")
                    else:
                        state = _("N")
                        itemFont.SetWeight(wx.BOLD)
                else:
                    color = wx.NamedColor(sevColors[gdata.MIN])
                    item.SetTextColour(color)
                    if message["readed"]:
                        if message["replied"]:
                            state = _("R")
                        else:
                            state = _(" ")

                        itemFont.SetWeight(wx.NORMAL)
                    else:
                        state = _("N")
                        itemFont.SetWeight(wx.BOLD)

                item.SetFont(itemFont)
                self.list.SetItem(item)
                date = time.strftime(_("%m-%d %H:%M"),
                                     time.localtime(message["time"]))
                self.list.SetStringItem(i, 0, state)
                self.list.SetStringItem(i, 2, message["sender"])
                self.list.SetStringItem(i, 1, date)
                self.itemData[i] = (objID, messageID, forum, type)
                i += 1

        self.list.Thaw()
        self.delete.Disable()
        self.reply.Disable()
        self.newSubject.Enable(gdata.mailboxSpec[type, forum][1] != None)
        self.readAll.Enable(i > 0)
        self.deleteAll.Enable(i > 0)
        self.message.SetValue("")
コード例 #4
0
ファイル: Messager.py プロジェクト: mozts2005/OuterSpace
	def fillMessages(self, forum, objID, type):
		objMessages = client.get(objID)._messages
		ids = objMessages.keys()
		ids.sort()
		ids.reverse() 
	
		i = 0
		self.itemData = {}
		self.list.Freeze()
		self.list.DeleteAllItems()
		for messageID in ids:
			message = objMessages[messageID]
			if message["forum"] == forum:
				# 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]
				
				self.list.InsertStringItem(i, "")
				self.list.SetStringItem(i, 3, message["topic"])
				item = self.list.GetItem(i)
				itemFont = item.GetFont()
				if message.has_key("data"):
					sourceID, msgID, locationID, turn, data = message["data"]
					color = wx.NamedColor(sevColors[messages.getMsgSeverity(msgID)])
					item.SetTextColour(color)
					if message["readed"]:
						state = _(" ")
					else:
						state = _("N")
						itemFont.SetWeight(wx.BOLD)
				else:
					color = wx.NamedColor(sevColors[gdata.MIN])
					item.SetTextColour(color)
					if message["readed"]:
						if message["replied"]:
							state = _("R")
						else:
							state = _(" ")

						itemFont.SetWeight(wx.NORMAL)
					else:
						state = _("N")
						itemFont.SetWeight(wx.BOLD)
				
				item.SetFont(itemFont)
				self.list.SetItem(item)
				date = time.strftime(_("%m-%d %H:%M"), time.localtime(message["time"]))
				self.list.SetStringItem(i, 0, state)
				self.list.SetStringItem(i, 2, message["sender"])
				self.list.SetStringItem(i, 1, date)
				self.itemData[i] = (objID, messageID, forum, type)
				i += 1
		
		self.list.Thaw()
		self.delete.Disable()
		self.reply.Disable()
		self.newSubject.Enable(gdata.mailboxSpec[type, forum][1] != None)
		self.readAll.Enable(i > 0)
		self.deleteAll.Enable(i > 0)
		self.message.SetValue("")