Fix roster not refreshed in on_conversation_vadjustment_value_changed() by merging duplicate code
This commit is contained in:
parent
bf69759900
commit
cdd9618635
1 changed files with 18 additions and 27 deletions
|
@ -657,17 +657,7 @@ class ChatControlBase(MessageControl):
|
||||||
if not gajim.events.remove_events(self.account, self.get_full_jid(),
|
if not gajim.events.remove_events(self.account, self.get_full_jid(),
|
||||||
types = [type_]):
|
types = [type_]):
|
||||||
# There were events to remove
|
# There were events to remove
|
||||||
self.parent_win.redraw_tab(self)
|
self.redraw_after_event_removed(jid)
|
||||||
self.parent_win.show_title()
|
|
||||||
# redraw roster
|
|
||||||
if self.type_id == message_control.TYPE_PM:
|
|
||||||
room_jid, nick = gajim.get_room_and_nick_from_fjid(jid)
|
|
||||||
groupchat_control = gajim.interface.msg_win_mgr.get_control(
|
|
||||||
room_jid, self.account)
|
|
||||||
groupchat_control.draw_contact(nick)
|
|
||||||
else:
|
|
||||||
gajim.interface.roster.draw_contact(jid, self.account)
|
|
||||||
gajim.interface.roster.show_title()
|
|
||||||
self.msg_textview.grab_focus()
|
self.msg_textview.grab_focus()
|
||||||
# Note, we send None chatstate to preserve current
|
# Note, we send None chatstate to preserve current
|
||||||
self.parent_win.redraw_tab(self)
|
self.parent_win.redraw_tab(self)
|
||||||
|
@ -760,8 +750,22 @@ class ChatControlBase(MessageControl):
|
||||||
if not gajim.events.remove_events(self.account, self.get_full_jid(),
|
if not gajim.events.remove_events(self.account, self.get_full_jid(),
|
||||||
types = ['printed_' + type_, type_]):
|
types = ['printed_' + type_, type_]):
|
||||||
# There were events to remove
|
# There were events to remove
|
||||||
self.parent_win.redraw_tab(self)
|
self.redraw_after_event_removed(jid)
|
||||||
self.parent_win.show_title()
|
|
||||||
|
def redraw_after_event_removed(self, jid):
|
||||||
|
''' We just removed a 'printed_*' event, redraw contact in roster or
|
||||||
|
gc_roster and titles in roster and msg_win '''
|
||||||
|
self.parent_win.redraw_tab(self)
|
||||||
|
self.parent_win.show_title()
|
||||||
|
# TODO : get the contact and check notify.get_show_in_roster()
|
||||||
|
if self.type_id == message_control.TYPE_PM:
|
||||||
|
room_jid, nick = gajim.get_room_and_nick_from_fjid(jid)
|
||||||
|
groupchat_control = gajim.interface.msg_win_mgr.get_control(
|
||||||
|
room_jid, self.account)
|
||||||
|
groupchat_control.draw_contact(nick)
|
||||||
|
else:
|
||||||
|
gajim.interface.roster.draw_contact(jid, self.account)
|
||||||
|
gajim.interface.roster.show_title()
|
||||||
|
|
||||||
def sent_messages_scroll(self, direction, conv_buf):
|
def sent_messages_scroll(self, direction, conv_buf):
|
||||||
size = len(self.sent_history)
|
size = len(self.sent_history)
|
||||||
|
@ -1679,26 +1683,13 @@ class ChatControl(ChatControlBase):
|
||||||
gajim.events.remove_events(self.account, jid_with_resource,
|
gajim.events.remove_events(self.account, jid_with_resource,
|
||||||
types = [self.type_id])
|
types = [self.type_id])
|
||||||
|
|
||||||
self.parent_win.show_title()
|
|
||||||
self.parent_win.redraw_tab(self)
|
|
||||||
# redraw roster
|
|
||||||
gajim.interface.roster.show_title()
|
|
||||||
|
|
||||||
typ = 'chat' # Is it a normal chat or a pm ?
|
typ = 'chat' # Is it a normal chat or a pm ?
|
||||||
# reset to status image in gc if it is a pm
|
# reset to status image in gc if it is a pm
|
||||||
if is_pm:
|
if is_pm:
|
||||||
control.update_ui()
|
control.update_ui()
|
||||||
typ = 'pm'
|
typ = 'pm'
|
||||||
|
|
||||||
if is_pm:
|
self.redraw_after_event_removed(jid)
|
||||||
room_jid, nick = gajim.get_room_and_nick_from_fjid(jid)
|
|
||||||
groupchat_control = gajim.interface.msg_win_mgr.get_control(
|
|
||||||
room_jid, self.account)
|
|
||||||
groupchat_control.draw_contact(nick)
|
|
||||||
else:
|
|
||||||
gajim.interface.roster.draw_contact(jid, self.account)
|
|
||||||
# Redraw parent too
|
|
||||||
gajim.interface.roster.draw_parent_contact(jid, self.account)
|
|
||||||
if (self.contact.show in ('offline', 'error')):
|
if (self.contact.show in ('offline', 'error')):
|
||||||
show_offline = gajim.config.get('showoffline')
|
show_offline = gajim.config.get('showoffline')
|
||||||
show_transports = gajim.config.get('show_transports_group')
|
show_transports = gajim.config.get('show_transports_group')
|
||||||
|
|
Loading…
Add table
Reference in a new issue