| 151 | | path_to_file = os.path.join(gajim.DATA_DIR, 'pixmaps', 'muc_separator.png') |
| 152 | | FOCUS_OUT_LINE_PIXBUF = gtk.gdk.pixbuf_new_from_file(path_to_file) |
| | 151 | FOCUS_OUT_LINE_PIXBUF = gtk.gdk.pixbuf_new_from_file(os.path.join( |
| | 152 | gajim.DATA_DIR, 'pixmaps', 'muc_separator.png')) |
| | 153 | XEP0184_WARNING_PIXBUF = gtk.gdk.pixbuf_new_from_file(os.path.join( |
| | 154 | gajim.DATA_DIR, 'pixmaps', 'xep0184.png')) |
| | 394 | |
| | 395 | def show_xep0184_warning(self, id): |
| | 396 | try: |
| | 397 | if self.xep0184_marks[id] is not None: |
| | 398 | return |
| | 399 | except KeyError: |
| | 400 | pass |
| | 401 | |
| | 402 | buffer = self.tv.get_buffer() |
| | 403 | |
| | 404 | buffer.begin_user_action() |
| | 405 | |
| | 406 | end_iter = buffer.get_end_iter() |
| | 407 | buffer.insert(end_iter, ' ') |
| | 408 | buffer.insert_pixbuf(end_iter, |
| | 409 | ConversationTextview.XEP0184_WARNING_PIXBUF) |
| | 410 | |
| | 411 | end_iter = buffer.get_end_iter(); |
| | 412 | before_img_iter = end_iter.copy() |
| | 413 | # XXX: Is there a nicer way? |
| | 414 | before_img_iter.backward_char(); |
| | 415 | before_img_iter.backward_char(); |
| | 416 | |
| | 417 | self.xep0184_marks[id] = buffer.create_mark(None, |
| | 418 | buffer.get_end_iter(), left_gravity=True) |
| | 419 | |
| | 420 | buffer.end_user_action() |
| | 421 | |
| | 422 | def hide_xep0184_warning(self, id): |
| | 423 | try: |
| | 424 | if self.xep0184_marks[id] is None: |
| | 425 | return |
| | 426 | except KeyError: |
| | 427 | return |
| | 428 | |
| | 429 | buffer = self.tv.get_buffer() |
| | 430 | |
| | 431 | buffer.begin_user_action() |
| | 432 | |
| | 433 | end_iter = buffer.get_iter_at_mark(self.xep0184_marks[id]) |
| | 434 | |
| | 435 | begin_iter = end_iter.copy() |
| | 436 | # XXX: Is there a nicer way? |
| | 437 | begin_iter.backward_char(); |
| | 438 | begin_iter.backward_char(); |
| | 439 | |
| | 440 | buffer.delete(begin_iter, end_iter) |
| | 441 | buffer.delete_mark(self.xep0184_marks[id]) |
| | 442 | |
| | 443 | buffer.end_user_action() |
| | 444 | |
| | 445 | self.xep0184_marks[id] = None |