Re-work logic of GUI userlist to be more informative (inc. duration)

This commit is contained in:
Etoh 2013-07-02 01:03:29 +01:00
parent 6687630131
commit c13c0d2836

View File

@ -38,7 +38,7 @@ class MainWindow(QtGui.QMainWindow):
for room in rooms: for room in rooms:
roomitem = QtGui.QStandardItem(room) roomitem = QtGui.QStandardItem(room)
if room == currentUser.room: if (room == currentUser.room):
font = QtGui.QFont() font = QtGui.QFont()
font.setWeight(QtGui.QFont.Bold) font.setWeight(QtGui.QFont.Bold)
roomitem.setFont(font) roomitem.setFont(font)
@ -49,18 +49,28 @@ class MainWindow(QtGui.QMainWindow):
for user in rooms[room]: for user in rooms[room]:
useritem = QtGui.QStandardItem(user.username) useritem = QtGui.QStandardItem(user.username)
fileitem = QtGui.QStandardItem("") fileitem = QtGui.QStandardItem("")
if(user.file): if (user.file):
fileitem = QtGui.QStandardItem(user.file['name'] + " ("+formatTime(user.file['duration'])+")") fileitem = QtGui.QStandardItem(user.file['name'] + " ("+formatTime(user.file['duration'])+")")
if(currentUser.file): if (currentUser.file):
if(stripfilename(user.file['name']) == stripfilename(currentUser.file['name']) and user.file['size'] != currentUser.file['size']): sameName = stripfilename(user.file['name']) == stripfilename(currentUser.file['name'])
fileitem = QtGui.QStandardItem(user.file['name'] + " ("+formatTime(user.file['duration'])+")" + " (Different size!)") sameSize = user.file['size'] == currentUser.file['size']
if room == currentUser.room: sameDuration = abs(int(user.file['duration']) - int(currentUser.file['duration'])) < constants.DIFFFERENT_DURATION_THRESHOLD
sameRoom = room == currentUser.room
differentName = not sameName
differentSize = not sameSize
differentDuration = not sameDuration
if (sameName or sameRoom):
if (differentSize and sameDuration):
fileitem = QtGui.QStandardItem(user.file['name'] + " ("+formatTime(user.file['duration'])+")" + " (Different size!)")
elif (differentSize and differentDuration):
fileitem = QtGui.QStandardItem(user.file['name'] + " ("+formatTime(user.file['duration'])+")" + " (Different size and duration!)")
elif (differentDuration):
fileitem = QtGui.QStandardItem(user.file['name'] + " ("+formatTime(user.file['duration'])+")" + " (Different duration!)")
if (sameRoom and (differentName or differentSize or differentDuration)):
fileitem.setForeground(QtGui.QBrush(QtGui.QColor('red'))) fileitem.setForeground(QtGui.QBrush(QtGui.QColor('red')))
elif (stripfilename(user.file['name']) != stripfilename(currentUser.file['name']) and room == currentUser.room):
fileitem.setForeground(QtGui.QBrush(QtGui.QColor('red')))
else: else:
fileitem = QtGui.QStandardItem("(No file being played)") fileitem = QtGui.QStandardItem("(No file being played)")
if room == currentUser.room: if (room == currentUser.room):
fileitem.setForeground(QtGui.QBrush(QtGui.QColor('blue'))) fileitem.setForeground(QtGui.QBrush(QtGui.QColor('blue')))
if(currentUser.username == user.username): if(currentUser.username == user.username):
font = QtGui.QFont() font = QtGui.QFont()