commit almost there code for tooltip over ---- line. Dimitur plz read this commit and FIXME I have
This commit is contained in:
		
							parent
							
								
									4d15c54010
								
							
						
					
					
						commit
						c8602d63c4
					
				
					 3 changed files with 25 additions and 9 deletions
				
			
		
							
								
								
									
										23
									
								
								src/chat.py
									
										
									
									
									
								
							
							
						
						
									
										23
									
								
								src/chat.py
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -25,6 +25,7 @@ import time
 | 
			
		|||
import dialogs
 | 
			
		||||
import history_window
 | 
			
		||||
import gtkgui_helpers
 | 
			
		||||
import tooltips
 | 
			
		||||
 | 
			
		||||
try:
 | 
			
		||||
	import gtkspell
 | 
			
		||||
| 
						 | 
				
			
			@ -844,8 +845,9 @@ class Chat:
 | 
			
		|||
	def on_conversation_textview_motion_notify_event(self, widget, event):
 | 
			
		||||
		'''change the cursor to a hand when we are over a mail or an url'''
 | 
			
		||||
		jid = self.get_active_jid()
 | 
			
		||||
		x, y, spam = widget.window.get_pointer()
 | 
			
		||||
		x, y = widget.window_to_buffer_coords(gtk.TEXT_WINDOW_TEXT, x, y)
 | 
			
		||||
		pointer_x, pointer_y, spam = widget.window.get_pointer()
 | 
			
		||||
		x, y = widget.window_to_buffer_coords(gtk.TEXT_WINDOW_TEXT, pointer_x,
 | 
			
		||||
			pointer_y)
 | 
			
		||||
		tags = widget.get_iter_at_location(x, y).get_tags()
 | 
			
		||||
		if self.change_cursor:
 | 
			
		||||
			widget.get_window(gtk.TEXT_WINDOW_TEXT).set_cursor(
 | 
			
		||||
| 
						 | 
				
			
			@ -853,11 +855,24 @@ class Chat:
 | 
			
		|||
			self.change_cursor = None
 | 
			
		||||
		tag_table = widget.get_buffer().get_tag_table()
 | 
			
		||||
		for tag in tags:
 | 
			
		||||
			if tag == tag_table.lookup('url') or tag == tag_table.lookup('mail'):
 | 
			
		||||
			if tag in (tag_table.lookup('url'), tag_table.lookup('mail')):
 | 
			
		||||
				widget.get_window(gtk.TEXT_WINDOW_TEXT).set_cursor(
 | 
			
		||||
					gtk.gdk.Cursor(gtk.gdk.HAND2))
 | 
			
		||||
				self.change_cursor = tag
 | 
			
		||||
		return False
 | 
			
		||||
			elif self.widget_name == 'groupchat_window' and \
 | 
			
		||||
			tag == tag_table.lookup('focus-out-line'):
 | 
			
		||||
				widget.get_window(gtk.TEXT_WINDOW_TEXT).set_cursor(
 | 
			
		||||
					gtk.gdk.Cursor(gtk.gdk.LEFT_PTR))
 | 
			
		||||
				self.change_cursor = tag
 | 
			
		||||
				tooltip = tooltips.BaseTooltip()
 | 
			
		||||
				message = _('abcdoremi')
 | 
			
		||||
				# FIXME: found out (dkirov can help) what those params are supposed to be
 | 
			
		||||
				# FIXME: also fix tooltips.py docstrings and comments (imporve and add more)
 | 
			
		||||
				# to explain it better as atm it's poor
 | 
			
		||||
				#tooltip.show_tooltip(message, (pointer_x, pointer_y), (pointer_x, pointer_y))
 | 
			
		||||
 | 
			
		||||
				if tooltip.timeout != 0:
 | 
			
		||||
					tooltip.hide_tooltip()
 | 
			
		||||
 | 
			
		||||
	def on_clear(self, widget, textview):
 | 
			
		||||
		'''clear text in the given textview'''
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -656,10 +656,10 @@ class RosterWindow:
 | 
			
		|||
		if props and self.tooltip.id == props[0]:
 | 
			
		||||
			# check if the current pointer is at the same path
 | 
			
		||||
			# as it was before setting the timeout
 | 
			
		||||
			rect =  self.tree.get_cell_area(props[0],props[1])
 | 
			
		||||
			rect =  self.tree.get_cell_area(props[0], props[1])
 | 
			
		||||
			position = self.tree.window.get_origin()
 | 
			
		||||
			pointer = self.window.get_pointer()
 | 
			
		||||
			self.tooltip.show_tooltip(contact, (pointer[0], rect.height ),
 | 
			
		||||
			self.tooltip.show_tooltip(contact, (pointer[0], rect.height),
 | 
			
		||||
				 (position[0], position[1] + rect.y))
 | 
			
		||||
		else:
 | 
			
		||||
			self.tooltip.hide_tooltip()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,10 +32,11 @@ _ = i18n._
 | 
			
		|||
APP = i18n.APP
 | 
			
		||||
 | 
			
		||||
class BaseTooltip:
 | 
			
		||||
	''' Base Tooltip . Usage:
 | 
			
		||||
	''' Base Tooltip; Usage:
 | 
			
		||||
		tooltip = BaseTooltip()
 | 
			
		||||
		.... 
 | 
			
		||||
		tooltip.show_tooltip('', window_postions, widget_postions)
 | 
			
		||||
		tooltip.show_tooltip('', window_positions, widget_positions)
 | 
			
		||||
		#FIXME: what is window, what is widget?
 | 
			
		||||
		....
 | 
			
		||||
		if tooltip.timeout != 0:
 | 
			
		||||
			tooltip.hide_tooltip()
 | 
			
		||||
| 
						 | 
				
			
			@ -108,7 +109,7 @@ class BaseTooltip:
 | 
			
		|||
		self.win.show_all()
 | 
			
		||||
 | 
			
		||||
	def hide_tooltip(self):
 | 
			
		||||
		if(self.timeout > 0):
 | 
			
		||||
		if self.timeout > 0:
 | 
			
		||||
			gobject.source_remove(self.timeout)
 | 
			
		||||
			self.timeout = 0
 | 
			
		||||
		if self.win:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue