Changeset 9560

Show
Ignore:
Timestamp:
05/03/08 02:10:17 (4 months ago)
Author:
bct
Message:

pm fixes

Location:
branches/session_centric/src
Files:
6 modified

Legend:

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

    r9556 r9560  
    928928                                gajim.interface.roster.draw_contact(room_jid, self.account) 
    929929                        groupchat_control.draw_contact(nick) 
    930                         mw = gajim.interface.msg_win_mgr.get_gc_window(room_jid, self.account) 
    931                         if mw: 
    932                                 mw.redraw_tab(groupchat_control) 
     930                        if groupchat_control.parent_win: 
     931                                groupchat_control.parent_win.redraw_tab(groupchat_control) 
    933932                else: 
    934933                        gajim.interface.roster.draw_contact(jid, self.account) 
  • branches/session_centric/src/common/connection_handlers.py

    r9556 r9560  
    10301030 
    10311031                self.awaiting_answers[id] = (VCARD_PUBLISHED, iq2) 
    1032          
     1032 
    10331033        def _IqCB(self, con, iq_obj): 
    10341034                id = iq_obj.getID() 
     
    10821082                        if iq_obj.getType() == 'error' and jid == our_jid: 
    10831083                                # our server doesn't support vcard 
     1084                                gajim.log.debug('xxx error xxx') 
    10841085                                self.vcard_supported = False 
    10851086                        if not iq_obj.getTag('vCard') or iq_obj.getType() == 'error': 
  • branches/session_centric/src/gajim.py

    r9556 r9560  
    728728                jids = full_jid_with_resource.split('/', 1) 
    729729                jid = jids[0] 
    730                 gc_control = self.msg_win_mgr.get_control(jid, account) 
     730                gc_control = self.msg_win_mgr.get_gc_control(jid, account) 
    731731                if not gc_control and \ 
    732732                jid in self.minimized_controls[account]: 
  • branches/session_centric/src/groupchat_control.py

    r9556 r9560  
    122122        def __init__(self, parent_win, gc_contact, contact, account, session): 
    123123                room_jid = contact.jid.split('/')[0] 
    124                 room_ctrl = gajim.interface.msg_win_mgr.get_control(room_jid, account) 
     124                room_ctrl = gajim.interface.msg_win_mgr.get_gc_control(room_jid, account) 
    125125                if gajim.interface.minimized_controls[account].has_key(room_jid): 
    126126                        room_ctrl = gajim.interface.minimized_controls[account][room_jid] 
     
    449449                if color_name: 
    450450                        color = gtk.gdk.colormap_get_system().alloc_color(color_name) 
    451                          
     451 
    452452                label_str = self.name 
    453                  
     453 
    454454                # count waiting highlighted messages 
    455455                unread = '' 
     
    605605 
    606606                # We print if window is opened 
    607                 pm_control = gajim.interface.msg_win_mgr.get_control(fjid, self.account) 
     607                pm_control = gajim.interface.msg_win_mgr.get_control(fjid, self.account, session) 
     608 
    608609                if pm_control: 
    609610                        pm_control.print_conversation(msg, tim = tim, xhtml = xhtml) 
     611 
    610612                        return 
    611613 
     
    884886        def on_send_pm(self, widget = None, model = None, iter = None, nick = None, 
    885887        msg = None): 
    886                 '''opens a chat window and msg is not None sends private message to a 
     888                '''opens a chat window and if msg is not None sends private message to a 
    887889                contact in a room''' 
    888890                if nick is None: 
     
    16041606                        # Update pm chat window 
    16051607                        fjid = self.room_jid + '/' + nick 
    1606                         ctrl = gajim.interface.msg_win_mgr.get_control(fjid, self.account) 
     1608                        ctrl = gajim.interface.msg_win_mgr.get_gc_control(fjid, self.account) 
    16071609                        if ctrl: 
    16081610                                contact = gajim.contacts.get_gc_contact(self.account, self.room_jid, nick) 
     
    20342036                        gajim.interface.roster.new_private_chat(gc_c, self.account) 
    20352037                        win = gajim.interface.msg_win_mgr.get_window(nick_jid, self.account) 
    2036                 win.set_active_tab(nick_jid, self.account) 
     2038 
     2039                ctrl = win.get_controls(nick_jid, self.account)[0] 
     2040 
     2041                win.set_active_tab(ctrl) 
    20372042                win.window.present() 
    20382043 
  • branches/session_centric/src/roster_window.py

    r9556 r9560  
    39273927                if not mw: 
    39283928                        mw = gajim.interface.msg_win_mgr.create_window(contact, account, type_) 
     3929 
     3930                if not session: 
     3931                        session = gajim.connections[account].get_session(fjid, None, 'pm') 
    39293932 
    39303933                chat_control = PrivateChatControl(mw, gc_contact, contact, account, session) 
  • branches/session_centric/src/session.py

    r9556 r9560  
    108108                        jid = jid.replace('@', '') 
    109109 
    110                 #groupchat_control = gajim.interface.msg_win_mgr.get_control(jid, self.conn.name) 
    111  
    112 # XXX fixme 
    113 #               if not groupchat_control and \ 
    114 #               jid in gajim.interface.minimized_controls[self.conn.name]: 
    115 #                       groupchat_control = self.minimized_controls[self.conn.name][jid] 
     110                groupchat_control = gajim.interface.msg_win_mgr.get_gc_control(jid, self.conn.name) 
     111 
     112                if not groupchat_control and \ 
     113                jid in gajim.interface.minimized_controls[self.conn.name]: 
     114                        groupchat_control = self.minimized_controls[self.conn.name][jid] 
    116115 
    117116                pm = False 
    118 #               if groupchat_control and groupchat_control.type_id == \ 
    119 #               message_control.TYPE_GC: 
     117                if groupchat_control and groupchat_control.type_id == \ 
     118                message_control.TYPE_GC: 
    120119                        # It's a Private message 
    121 #                       pm = True 
    122 #                       msg_type = 'pm' 
     120                        pm = True 
     121                        msg_type = 'pm' 
    123122 
    124123                jid_of_control = full_jid_with_resource 
     
    135134                                        if contact.our_chatstate == 'ask': # we were jep85 disco? 
    136135                                                contact.our_chatstate = 'active' # no more 
    137                                         #self.control.handle_incoming_chatstate() XXX 
     136                                        self.control.handle_incoming_chatstate() 
    138137                                elif contact.chatstate != 'active': 
    139138                                        # got no valid jep85 answer, peer does not support it 
     
    169168                if pm: 
    170169                        nickname = resource 
    171                         groupchat_control.on_private_message(nickname, msgtxt, array[2], 
    172                                 xhtml, session, msg_id) 
     170                        groupchat_control.on_private_message(nickname, msgtxt, tim, 
     171                                xhtml, self, msg_id) 
    173172                else: 
    174173                        self.roster_message(jid, msgtxt, tim, encrypted, msg_type,