Example #1
0
    def __init__(self, chatrooms=None, room=None, users=None):
        self.lines = []
        self.chatrooms = chatrooms
        self.frame = chatrooms.frame
        self.room = room
        QtGui.QWidget.__init__(self, None)
        self.ui = Ui_Room()
        self.ui.setupUi(self)
        #self.connect(self, SIGNAL("PrivateMessage(PyQt_PyObject,PyQt_PyObject, PyQt_PyObject)"), self.frame.Networking.PrivateMessage)
        self.ui.UserList.setHeaderLabels(("", "User", "Speed", "Files"))
        self.ui.UserList.setIndentation(0)
        self.ui.UserList.setColumnWidth(0, 20)
        self.ui.UserList.setColumnWidth(1, 100)
        self.ui.UserList.setColumnWidth(2, 100)
        self.ui.UserList.setColumnWidth(3, 50)
        self.ui.UserList.setColumnCount(4)

        self.ui.UserList.sortItems(1, Qt.AscendingOrder)
        self.tag_remote = self.frame.makecolour(self.ui.UserList, "chatremote")
        self.tag_local = self.frame.makecolour(self.ui.UserList, "chatlocal")
        self.tag_me = self.frame.makecolour(self.ui.UserList, "chatme")
        self.tag_hilite = self.frame.makecolour(self.ui.UserList, "chathilite")

        self.users = {}
        for username, stats in users.items():
            self.users[username] = QTreeWidgetItem(
                self.ui.UserList.invisibleRootItem())

            status, speed, downloads, files, dirs = self.frame.user_stats[
                username] = [stats[0], stats[1], stats[2], stats[3], stats[4]]
            hspeed = self.frame.HumanSpeed(speed)
            hfiles = self.frame.Humanize(files)
            #print self.frame.user_stats[user]
            self.users[username].setIcon(
                0, self.frame.GetStatusImage(username, status))
            self.users[username].setText(1, username)
            self.users[username].setText(2, hspeed)
            self.users[username].setTextAlignment(2, Qt.AlignRight)
            self.users[username].setText(3, hfiles)
            self.users[username].setTextAlignment(3, Qt.AlignRight)
            self.users[username].setText(4, str(status))
            self.users[username].setData(5, 0, QVariant(speed))
            self.users[username].setData(6, 0, QVariant(files))
            #newuser.setText(0, status)
        self.connect(self.ui.ChatEntry, SIGNAL("returnPressed()"),
                     self.SayRoom)
        self.connect(self.ui.Close, SIGNAL("clicked()"), self.LeaveRoom)
        self.tag_log = None
        self.ui.UserList.resizeColumnToContents(0)
        #self.ui.UserList.resizeColumnToContents(1)
        self.ui.UserList.resizeColumnToContents(2)