Example #1
0
File: ui.py Project: hcit/pyqt
	def update( self ):
		if self.selected:
			self.messagesNew = {}
		result = DB.execute( "SELECT `contact_group_id` FROM `contact` WHERE `name`=? LIMIT 1", self.name )
		group_id = result and result[0]['contact_group_id'] or None
		if group_id:
			self.group = DB.execute( "SELECT `name` FROM `contact_group` WHERE `id`=?", group_id )[0]['name']
		else:
			self.group = None
		if self.group:
			self.buttons.addButton.hide()
			self.buttons.removeButton.show()
			self.nameLabel.setStyleSheet( 'QLabel { color:#333; }' )
		else:
			self.buttons.addButton.show()
			self.buttons.removeButton.hide()
			self.nameLabel.setStyleSheet( 'QLabel { color:#999; }' )
		
		self.nameLabel.setText( '%s [%s]' % ( self.name, self.status ) )
		self.statusLabel.setText( self.statusMessage )
		if self.status == 'online':
			self.statusLabel.setStyleSheet( 'QLabel { color:green; }' )
		elif self.status == 'offline':
			self.statusLabel.setStyleSheet( 'QLabel { color:gray; }' )
		elif self.status == 'away':
			self.statusLabel.setStyleSheet( 'QLabel { color:orange; }' )
		else:
			self.statusLabel.setStyleSheet( 'QLabel { color:red; }' )
		
		self.messagesLabel.setText( ( len( self.messagesNew ) and '('+str( len( self.messagesNew ) )+')' or '' ) )
Example #2
0
File: ui.py Project: hcit/pyqt
	def addContactCallback( self, contact, group ):
		QHelper.log( '::CONNECT:QContact:addContact', contact )
		if self.name == contact:
			self.group = group
			group_id = DB.execute( "SELECT `id` FROM `contact_group` WHERE `name`=?", self.group )[0]['id']
			if not DB.execute( "INSERT OR IGNORE INTO `contact` ( `name`, `contact_group_id` ) VALUES ( ?, ? )", self.name, group_id ):
				DB.execute( "UPDATE `contact` SET `contact_group_id`=? WHERE `name`=? )", group_id, self.name )
			self.update()
Example #3
0
File: ui.py Project: hcit/pyqt
	def __init__( self, parent ):
		super( self.__class__, self ).__init__( parent )
		self.radioList = {}
		self.contactListItems = {}
		self.layout = QtGui.QVBoxLayout()
		self.layout.addStretch( 1 )
		#self.layout.setAlignment( QtCore.Qt.AlignTop )
		self.setLayout( self.layout )
		self.contact = None
		#self.master.View.contactItem( contact, status )
		self.connect( QHelper.master(), QtCore.SIGNAL( 'receiveMessage' ), self.receiveMessageCallback )
		self.connect( QHelper.master(), QtCore.SIGNAL( 'contactStatus' ), self.contactStatusCallback )
		self.connect( QHelper.master(), QtCore.SIGNAL( 'pickedContact' ), self.pickedContactCallback )
		for row in DB.execute( "SELECT `contact`.*, `contact_group`.`name` FROM `contact`, `contact_group` WHERE `contact`.`contact_group_id`=`contact_group`.`id`" ):
			self.radioList[row['name']] = QContact( row['name'], 'offline', '', self )
			self.layout.addWidget( self.radioList[row['name']] )
Example #4
0
File: ui.py Project: hcit/pyqt
	def removeContactCallback( self, contact ):
		QHelper.log( '::CONNECT:QContact:removeContact', contact )
		if self.name == contact:
			DB.execute( "DELETE FROM `contact` WHERE `name`=?", self.name )
			self.update()