Changeset 10146
- Timestamp:
- 08/07/08 22:05:08 (3 weeks ago)
- Files:
-
- 1 modified
-
trunk/src/conversation_textview.py (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/conversation_textview.py
r10081 r10146 269 269 270 270 buffer.create_tag('focus-out-line', justification = gtk.JUSTIFY_CENTER) 271 272 tag = buffer.create_tag('xep0184-warning') 271 273 272 274 # One mark at the begining then 2 marks between each lines … … 279 281 self.focus_out_end_mark = None 280 282 283 self.xep0184_warning_tooltip = tooltips.BaseTooltip() 284 281 285 self.line_tooltip = tooltips.BaseTooltip() 282 286 # use it for hr too … … 417 421 buffer.insert_pixbuf(end_iter, 418 422 ConversationTextview.XEP0184_WARNING_PIXBUF) 423 before_img_iter = buffer.get_iter_at_mark( 424 self.xep0184_marks[id]) 425 before_img_iter.forward_char() 426 post_img_iter = before_img_iter.copy() 427 post_img_iter.forward_char() 428 buffer.apply_tag_by_name('xep0184-warning', before_img_iter, 429 post_img_iter) 419 430 420 431 self.xep0184_shown[id] = SHOWN … … 512 523 gobject.idle_add(self.scroll_to_end) 513 524 525 def show_xep0184_warning_tooltip(self): 526 pointer = self.tv.get_pointer() 527 x, y = self.tv.window_to_buffer_coords(gtk.TEXT_WINDOW_TEXT, pointer[0], 528 pointer[1]) 529 tags = self.tv.get_iter_at_location(x, y).get_tags() 530 tag_table = self.tv.get_buffer().get_tag_table() 531 xep0184_warning = False 532 for tag in tags: 533 if tag == tag_table.lookup('xep0184-warning'): 534 xep0184_warning = True 535 break 536 if xep0184_warning and not self.xep0184_warning_tooltip.win: 537 # check if the current pointer is still over the line 538 position = self.tv.window.get_origin() 539 self.xep0184_warning_tooltip.show_tooltip(_('This message ' 540 'was not delivered'), 541 8, position[1] + pointer[1]) 542 514 543 def show_line_tooltip(self): 515 544 pointer = self.tv.get_pointer() … … 568 597 tag_table = self.tv.get_buffer().get_tag_table() 569 598 over_line = False 599 xep0184_warning = False 570 600 for tag in tags: 571 601 if tag in (tag_table.lookup('url'), tag_table.lookup('mail')): … … 575 605 elif tag == tag_table.lookup('focus-out-line'): 576 606 over_line = True 607 elif tag == tag_table.lookup('xep0184-warning'): 608 xep0184_warning = True 577 609 578 610 if self.line_tooltip.timeout != 0: … … 583 615 self.line_tooltip.timeout = gobject.timeout_add(500, 584 616 self.show_line_tooltip) 617 self.tv.get_window(gtk.TEXT_WINDOW_TEXT).set_cursor( 618 gtk.gdk.Cursor(gtk.gdk.LEFT_PTR)) 619 self.change_cursor = tag 620 if xep0184_warning and not self.xep0184_warning_tooltip.win: 621 self.xep0184_warning_tooltip.timeout = \ 622 gobject.timeout_add(500, 623 self.show_xep0184_warning_tooltip) 585 624 self.tv.get_window(gtk.TEXT_WINDOW_TEXT).set_cursor( 586 625 gtk.gdk.Cursor(gtk.gdk.LEFT_PTR))
