def elaboratePresence(self, jid, jidInfo, jidStatusInfo): print "jidPresence: " + jid + " jidInfo: " + jidInfo print self.usersList print "***********" print self.usersRoomList if jid: if jidInfo == "available": if self.usersList.has_key(jid): userBox = self.usersList[jid] elif self.usersRoomList.has_key(jid): userBox = self.usersRoomList[jid] self.usersList[jid] = userBox else: userBox = pyuserBox(jid, self.clientParameters["jidServer"], self.jabberUser, self.interfaceGui) self.usersList[jid] = userBox userBox.presence(True) if self.chairModeStatus: if self.usersRoomList.has_key(jid): if jid != self.clientParameters["jidChair"]: userBox = self.usersRoomList[jid] userBox.presenceServer(True) print "userBox.presence in elaboratePresence" else: self.interfaceGui.newWindow(userBox) userBox.info["onGuiShow"] = True self.readMedia(jid) elif jidInfo == "unavailable": # caso chair Mode: l'utente non e' piu' presente, viene solo segnalato come assente if self.chairModeStatus: if self.usersRoomList.has_key(jid): if jid != self.clientParameters["jidChair"]: userBox = self.usersRoomList[jid] userBox.presenceServer(False) else: # caso uuse normale: l'utente viene tolto dalla lista degli user e levato dalla mostra nel toolbox if self.usersList.has_key(jid): userBox = self.usersList[jid] userSlot = userBox.userSlot self.interfaceGui.delWindow(userBox) self.interfaceGui.boxActivatedNumber = -1 userBox.info["onGuiShow"] = False userBox.presence(False) userSlot.close() del self.usersList[jid] if jid == self.clientParameters["jidChair"]: self.connectedChair = False self.interfaceGui.ui.labelLinkToServer.setPixmap(QtGui.QPixmap("")) for userBox in self.usersList.iteritems(): userSlot = userBox.userSlot userSlot.ui.labelonGuiShow.setPixmap(QtGui.QPixmap("")) userBox.info["roomPresence"] = False
def connection(self, connected): print "parent" + str(self.parent()) print "connected: " + str(connected) if connected == 1: # icona per lo stato di on che ora diventa connesso self.interfaceGui.ui.actionConnection.setIcon(self.interfaceGui.iconConnected) sysTrayToolTipMsg = QtCore.QString(self.tr("Sacks - Connected: %1")).arg(self.userJid) self.interfaceGui.sysTrayIcon.setToolTip(sysTrayToolTipMsg) self.interfaceGui.ui.lineEditRoomMsg.setEnabled(True) self.interfaceGui.setCurrentDock(self.interfaceGui.ui.dockWidgetUser) self.localUserBox = pyuserBox(self.userJid, self.clientParameters["jidServer"], self.jabberUser, self.interfaceGui) self.usersList[self.userJid] = self.localUserBox self.interfaceGui.newWindow(self.localUserBox) self.localUserBox.info["onGuiShow"] = True self.localUserBox.presence(True) self.localUserBox.userSlot.lineEditSendMsg.hide() self.localUserBox.userSlot.listWidgetReceiveMsg.hide() elif connected == -1 or connected == -2: self.interfaceGui.ui.actionConnection.setChecked(False)
def manageRoomUser(self, userJid, presence): if presence: if not self.usersRoomList.has_key(userJid): if self.usersList.has_key(userJid): userBox = self.usersList[userJid] else: userBox = pyuserBox(userJid, self.clientParameters["jidServer"], self.jabberUser, self.interfaceGui) self.usersRoomList[userJid] = userBox else: userBox = self.usersRoomList[userJid] userBox.roomMode(True) if userJid != self.userJid: userBox.presenceServer(True) else: userBox = self.usersRoomList[userJid] userBox.presenceServer(False) userBox.roomMode(False) for userBox in self.usersRoomList.iteritems(): if userBox.online: msgDelRoomUser = "******" + userJid userBox.sendMsg(msgDelRoomUser, True)
def elabCommandFromChair(self, jid, msg): print "command from chair" # self.clientParameters["jidChair"] e' sicuramente stato attivato altrimenti qui' nn vi arriva msgCommand = QtCore.QString(unicode(msg)) commandList = msgCommand.split(" ") command = commandList.first() parametersList = commandList.mid(1) if jid == self.clientParameters["jidChair"] and command == "/addRoomUser": roomUser = str(parametersList.first()) if not self.usersList.has_key(roomUser): if roomUser != self.clientParameters["jidUser"]: userBox = pyuserBox(roomUser, self.clientParameters["jidServer"], self.jabberUser, self.interfaceGui) self.usersList[roomUser] = userBox self.jabberUser.subscriptionRequestSend(roomUser) print "subscriptionRequestSend: " + roomUser else: userBox = self.usersList[roomUser] userBox.presenceRoom(True) if jid == self.clientParameters["jidChair"] and command == "/userFocus": userFocusJid = str(parametersList.takeFirst()) userFocusStatus = str(parametersList.takeFirst()) if self.usersList.has_key(userFocusJid): userBox = self.usersList[userFocusJid] if userFocusStatus == "True": self.focusStatus = True userBox.userSlot.buttonOnFocus.setEnabled(True) userBox.userSlot.buttonOnFocus.setChecked(True) elif userFocusStatus == "False": self.focusStatus = False userBox.userSlot.buttonOnFocus.setChecked(False) userBox.userSlot.buttonOnFocus.setEnabled(False) if jid == self.clientParameters["jidChair"] and command == "/webLink": linkPage = str(parametersList.takeFirst()) self.interfaceGui.webWidget.urlWeb.setText(linkPage) self.interfaceGui.webWidget.urlChanged() if jid == self.clientParameters["jidChair"] and command == "/remoteDesktop": jidRemoteDesktop = str(parametersList.takeFirst()) remoteScreenStatus = str(parametersList.takeFirst()) if self.usersList.has_key(jidRemoteDesktop): userBox = self.usersList[jidRemoteDesktop] if remoteScreenStatus == "True": self.remoteDesktopStatus = True elif remoteScreenStatus == "False": self.remoteDesktopStatus = False if self.remoteDesktopStatus: addressRemoteDesktop = str(parametersList.takeFirst()) display = int(parametersList.takeFirst()) passwd = str(parametersList.takeFirst()) print "userbox.online: ", userBox.nameSlot, " online= ", userBox.online userBox.setScreenParameters(addressRemoteDesktop, display, passwd) self.jidRemoteDesktop = jidRemoteDesktop else: userBox.setScreenParameters(None) # devrebbe indicare quali sono i nuovi utenti # anche se il mittente e' l'utente stesso in modo da tener aggiornata la lista if jid == self.clientParameters["jidChair"] and command == "/newRoomUser": roomUser = str(parametersList.first()) if roomUser != self.clientParameters["jidUser"]: if not self.usersList.has_key(roomUser): userBox = pyuserBox(roomUser, self.clientParameters["jidServer"], self.jabberUser, self.interfaceGui) self.usersList[roomUser] = userBox else: userBox = self.usersList[roomUser] userBox.presenceRoom(True) if jid == self.clientParameters["jidChair"] and command == "/delRoomUser": roomUser = str(parametersList.first()) if self.usersList.has_key(roomUser): userBox = self.usersList[roomUser] userBox.presenceRoom(False) if jid == self.clientParameters["jidChair"] and command == "/userRoomChecked": roomUser = str(parametersList.first()) self.jabberUser.jidSubscribe(roomUser, True) print "userRoomChecked: " + roomUser if jid == self.clientParameters["jidChair"] and command == "/msgRoom": msgRoom = parametersList.join(" ") self.interfaceGui.showMsg(msgRoom)