Changeset 9308

Show
Ignore:
Timestamp:
02/06/08 06:24:07 (7 months ago)
Author:
bct
Message:

post-refactor traceback fixing

Location:
branches/session_centric/src
Files:
6 modified

Legend:

Unmodified
Added
Removed
  • branches/session_centric/src/chat_control.py

    r9299 r9308  
    679679                                event = 'message_received' 
    680680                                show_in_roster = notify.get_show_in_roster(event, 
    681                                         self.account, self.contact) 
     681                                        self.account, self.contact, self.session) 
    682682                                show_in_systray = notify.get_show_in_systray(event, 
    683683                                        self.account, self.contact) 
     
    18421842                # destroy banner tooltip - bug #pygtk for that! 
    18431843                self.status_tooltip.destroy() 
     1844 
    18441845                # Send 'gone' chatstate 
    18451846                self.send_chatstate('gone', self.contact) 
    18461847                self.contact.chatstate = None 
    18471848                self.contact.our_chatstate = None 
     1849 
     1850                self.session.control = None 
     1851 
    18481852                # Disconnect timer callbacks 
    18491853                gobject.source_remove(self.possible_paused_timeout_id) 
  • branches/session_centric/src/common/connection_handlers.py

    r9307 r9308  
    17531753                try: 
    17541754                        del self.sessions[jid][thread_id] 
    1755                          
     1755 
    17561756                        if not self.sessions[jid]: 
    17571757                                del self.sessions[jid] 
  • branches/session_centric/src/message_control.py

    r9299 r9308  
    146146 
    147147                if not self.session: 
     148                        print('uhoh new session') 
    148149                        fjid = self.contact.get_full_jid() 
    149150                        new_session = gajim.connections[self.account].make_new_session(fjid) 
  • branches/session_centric/src/notify.py

    r9299 r9308  
    5454        USER_HAS_GROWL = False 
    5555 
    56  
    57 def get_show_in_roster(event, account, contact): 
     56def get_show_in_roster(event, account, contact, session = None): 
    5857        '''Return True if this event must be shown in roster, else False''' 
    5958        if event == 'gc_message_received': 
     
    6665                        return False 
    6766        if event == 'message_received': 
    68                 chat_control = helpers.get_chat_control(account, contact) 
    69                 if chat_control: 
     67                if session: 
     68                        if session.control: 
     69                                return False 
     70                elif helpers.get_chat_control(account, contact): 
    7071                        return False 
    7172        return True 
  • branches/session_centric/src/roster_window.py

    r9307 r9308  
    13001300                        for result in results: 
    13011301                                tim = time.localtime(float(result[2])) 
    1302                                 self.on_message(jid, result[1], tim, account, msg_type = 'chat', 
    1303                                         msg_id = result[0], session = session) 
     1302                                session.roster_message(jid, result[1], tim, msg_type='chat', msg_id=result[0]) 
    13041303 
    13051304        def fill_contacts_and_groups_dicts(self, array, account): 
     
    39613960                                resource = resource) 
    39623961 
     3962                session = gajim.connections[account].get_session(fjid, None, 'chat') 
     3963 
    39633964                if not gajim.interface.msg_win_mgr.has_window(fjid, account): 
    3964                         session = account.make_new_session(account, fjid) 
    3965                         self.control = self.new_chat(session, contact, account, resource = resource) 
     3965                        session.control = self.new_chat(session, contact, account, resource = resource) 
    39663966 
    39673967                        if len(gajim.events.get_events(account, fjid)): 
    3968                                 chat_control.read_queue() 
     3968                                session.control.read_queue() 
    39693969 
    39703970                mw = gajim.interface.msg_win_mgr.get_window(fjid, account) 
     
    42934293                if resource: 
    42944294                        fjid += '/' + resource 
     4295 
     4296                conn = gajim.connections[account] 
     4297 
     4298                if not session: 
     4299                        session = conn.get_session(fjid, None, 'chat') 
     4300 
    42954301                win = gajim.interface.msg_win_mgr.get_window(fjid, account) 
    42964302                if not win: 
    4297                         self.new_chat(session, contact, account, resource = resource) 
     4303                        session.control = self.new_chat(session, contact, account, resource=resource) 
     4304 
     4305                        if len(gajim.events.get_events(account, fjid)): 
     4306                                session.control.read_queue() 
     4307 
    42984308                        win = gajim.interface.msg_win_mgr.get_window(fjid, account) 
    4299                         ctrl = win.get_control(fjid, account) 
    43004309                        # last message is long time ago 
    4301                         gajim.last_message_time[account][ctrl.get_full_jid()] = 0 
     4310                        gajim.last_message_time[account][session.control.get_full_jid()] = 0 
     4311 
    43024312                win.set_active_tab(fjid, account) 
    4303                 if gajim.connections[account].is_zeroconf and \ 
    4304                                 gajim.connections[account].status in ('offline', 'invisible'): 
     4313                if conn.is_zeroconf and conn.status in ('offline', 'invisible'): 
    43054314                        win.get_control(fjid, account).got_disconnected() 
    43064315 
  • branches/session_centric/src/session.py

    r9307 r9308  
    5252                                        if contact.our_chatstate == 'ask': # we were jep85 disco? 
    5353                                                contact.our_chatstate = 'active' # no more 
    54                                         self.control.handle_incoming_chatstate() 
     54                                        #self.control.handle_incoming_chatstate() XXX 
    5555                                elif contact.chatstate != 'active': 
    5656                                        # got no valid jep85 answer, peer does not support it 
     
    110110 
    111111                if gajim.interface.remote_ctrl: 
    112                         gajim.interface.remote_ctrl.raise_signal('NewMessage', (self.conn.name, [full_jid_with_resource, message, tim, encrypted, msg_type, subject, chatstate, msg_id, composing_xep, user_nick, xhtml, form_node])) 
     112                        gajim.interface.remote_ctrl.raise_signal('NewMessage', 
     113                                        (self.conn.name, [full_jid_with_resource, message, tim, 
     114                                                encrypted, msg_type, subject, chatstate, msg_id, 
     115                                                composing_xep, user_nick, xhtml, form_node])) 
    113116 
    114117        def roster_message(self, jid, msg, tim, encrypted=False, msg_type='', 
     
    189192                        event_type = 'single_message_received' 
    190193 
    191                 show_in_roster = notify.get_show_in_roster(event_type, self.conn.name, contact) 
     194                show_in_roster = notify.get_show_in_roster(event_type, self.conn.name, contact, self) 
    192195                show_in_systray = notify.get_show_in_systray(event_type, self.conn.name, contact) 
    193196 
     
    200203                if popup: 
    201204                        if not self.control: 
    202                                 self.control = self.new_chat(self, contact, self.conn.name, resource=resource_for_chat) 
     205                                self.control = gajim.interface.roster.new_chat(self, contact, self.conn.name, resource=resource_for_chat) 
    203206 
    204207                                if len(gajim.events.get_events(self.conn.name, fjid)):