Changeset 8417
- Timestamp:
- 07/21/07 16:58:56 (18 months ago)
- Location:
- trunk/src
- Files:
-
- 2 modified
-
common/config.py (modified) (1 diff)
-
conversation_textview.py (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/common/config.py
r8386 r8417 229 229 'use_latex': [opt_bool, False, _('If True, Gajim will convert string between $$ and $$ to an image using dvips and convert before insterting it in chat window.')], 230 230 'change_status_window_timeout': [opt_int, 15, _('Time of inactivity needed before the change status window closes down.')], 231 'max_conversation_lines': [opt_int, 500, _('Maximum number of lines that are printed in conversations. Oldest lines are cleared.')], 231 232 } 232 233 -
trunk/src/conversation_textview.py
r8114 r8417 27 27 import dialogs 28 28 import locale 29 import Queue 29 30 30 31 import gtkgui_helpers … … 141 142 142 143 buffer.create_tag('focus-out-line', justification = gtk.JUSTIFY_CENTER) 144 145 size = gajim.config.get('max_conversation_lines') 146 size = 2 * size - 1 147 self.marks_queue = Queue.Queue(size) 143 148 144 149 self.allow_focus_out_line = True … … 316 321 start, end = buffer.get_bounds() 317 322 buffer.delete(start, end) 323 size = gajim.config.get('max_conversation_lines') 324 size = 2 * size - 1 325 self.marks_queue = Queue.Queue(size) 318 326 self.focus_out_end_iter_offset = None 319 327 … … 768 776 buffer = self.tv.get_buffer() 769 777 buffer.begin_user_action() 778 if self.marks_queue.full(): 779 # remove oldest line 780 m1 = self.marks_queue.get() 781 m2 = self.marks_queue.get() 782 i1 = buffer.get_iter_at_mark(m1) 783 i2 = buffer.get_iter_at_mark(m2) 784 buffer.delete(i1, i2) 785 buffer.delete_mark(m1) 770 786 end_iter = buffer.get_end_iter() 771 787 at_the_end = False … … 773 789 at_the_end = True 774 790 791 # Create one mark and add it to queue once if it's the first line 792 # else twice (one for end bound, one for start bound) 793 mark = None 775 794 if buffer.get_char_count() > 0: 776 795 buffer.insert_with_tags_by_name(end_iter, '\n', 'eol') 796 mark = buffer.create_mark(None, end_iter, left_gravity=True) 797 self.marks_queue.put(mark) 798 if not mark: 799 mark = buffer.create_mark(None, end_iter, left_gravity=True) 800 self.marks_queue.put(mark) 777 801 if kind == 'incoming_queue': 778 802 kind = 'incoming'
