don't scroll in groupchat when window doesn't have focus. Fixes #6100

This commit is contained in:
Yann Leboulanger 2010-12-17 12:09:56 +01:00
parent 2152411af2
commit 5b5b2375a1
2 changed files with 7 additions and 4 deletions

View File

@ -522,7 +522,7 @@ class ConversationTextview(gobject.GObject):
del self.xep0184_marks[id_]
del self.xep0184_shown[id_]
def show_focus_out_line(self):
def show_focus_out_line(self, scroll=True):
if not self.allow_focus_out_line:
# if room did not receive focus-in from the last time we added
# --- line then do not readd
@ -581,8 +581,10 @@ class ConversationTextview(gobject.GObject):
buffer_.end_user_action()
# scroll to the end (via idle in case the scrollbar has appeared)
gobject.idle_add(self.scroll_to_end)
if scroll:
# scroll to the end (via idle in case the scrollbar has
# appeared)
gobject.idle_add(self.scroll_to_end)
def show_xep0184_warning_tooltip(self):
pointer = self.tv.get_pointer()

View File

@ -1149,7 +1149,8 @@ class GroupchatControl(ChatControlBase):
# we have full focus (we are reading it!)
return
self.conv_textview.show_focus_out_line()
at_the_end = self.conv_textview.at_the_end()
self.conv_textview.show_focus_out_line(scroll=at_the_end)
def needs_visual_notification(self, text):
"""