Changeset 9635

Show
Ignore:
Timestamp:
05/14/08 02:34:02 (3 months ago)
Author:
bct
Message:

moved session.remove_events. fixes #3942

Location:
trunk/src
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/chat_control.py

    r9626 r9635  
    925925                self.parent_win.window.is_active(): 
    926926                        # we are at the end 
    927                         if not self.session.remove_events(types_list): 
     927                        if self.session.remove_events(types_list): 
    928928                                # There were events to remove 
    929929                                self.redraw_after_event_removed(jid) 
  • trunk/src/common/stanza_session.py

    r9625 r9635  
    4949 
    5050                return self.loggable and account not in no_log_for and self.jid not in no_log_for 
     51 
     52        # remove events associated with this session from the queue 
     53        # returns True if any events were removed (unlike gajim.events.remove_events) 
     54        def remove_events(self, types): 
     55                any_removed = False 
     56 
     57                for event in gajim.events.get_events(self.conn.name, self.jid, types=types): 
     58                        # the event wasn't in this session 
     59                        if (event.type_ == 'chat' and event.parameters[8] != self) or \ 
     60                                        (event.type_ == 'printed_chat' and event.parameters[0] != self): 
     61                                continue 
     62 
     63                        # events.remove_events returns True when there were no events 
     64                        # for some reason 
     65                        r = gajim.events.remove_events(self.conn.name, self.jid, event) 
     66 
     67                        if not r: 
     68                                any_removed = True 
     69 
     70                return any_removed 
    5171 
    5272        def generate_thread_id(self): 
  • trunk/src/session.py

    r9634 r9635  
    2626                if self.control: 
    2727                        self.control.session = None 
    28  
    29         # remove events associated with this session from the queue 
    30         def remove_events(self, types): 
    31                 any_removed = False 
    32  
    33                 for event in gajim.events.get_events(self.conn, self.jid, types=types): 
    34                         if event.parameters[8] != self: 
    35                                 continue 
    36  
    37                         r = gajim.events.remove_events(self.conn, self.jid, event) 
    38  
    39                         if not_any_removed: 
    40                                 any_removed = r 
    41  
    42                 return any_removed 
    4328 
    4429        # extracts chatstate from a <message/> stanza