Exemplo n.º 1
0
	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
Exemplo n.º 2
0
	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)
Exemplo n.º 3
0
	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)
Exemplo n.º 4
0
	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)