-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBuddyItem.py
executable file
·61 lines (47 loc) · 1.64 KB
/
BuddyItem.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
from PyQt4.QtGui import QIcon, QTreeWidgetItem
from MessageDialog import MessageDialog
from AbstractListItem import AbstractListItem
from constants import SHOW
class BuddyItem(AbstractListItem):
"""
BuddyItem implements the view of a Buddy from the Roster
"""
dialog = None
msg = None
def __init__(self, buddyList, parent, jid, show, con, nick = None, muc = None):
AbstractListItem.__init__(self, parent, jid, show, con, nick, muc)
self.buddyList = buddyList
self.setStatus(show)
def setStatus(self, show = "", subscription = ""):
if show != "": self.show = show
fileShow = "interface/resource/icons/status/" + str(self.show) + ".png"
self.setIcon(0, QIcon(fileShow))
name = self.connection.getName(self.jid)
if name is not self.jid:
toolTip = name + " <" + str(self.jid) + ">"
else: toolTip = "<" + str(self.jid) + ">"
if subscription != "":
toolTip += "\nSubscription: " + subscription
self.setToolTip(0, toolTip)
def createMsgDialog(self):
try:
self.messageDialog.show()
self.messageDialog.raise_()
except:
self.messageDialog = MessageDialog(self.connection, self.jid, self.buddyList, self.nick)
self.messageDialog.show()
self.messageDialog.raise_()
def closeDialog(self):
try:
self.messageDialog.close()
except: pass
def receiveMessage(self, buddy, msg):
self.createMsgDialog()
self.messageDialog.receiveMessage(msg)
def rcvCanvasStroke(self, d, stroke, stroke_width):
self.createMsgDialog()
self.messageDialog.CanvasStroke(d, stroke, stroke_width)
def isAway(self):
return (self.show == "away" or self.status == "xa")
def isOffline(self):
return self.show == "offline"