Ignore:
Timestamp:
Dec 5, 2013 11:04:36 AM (10 years ago)
Author:
nanang
Message:

Re #1708:

  • Changed participant managements in Chat, e.g: changed Buddy based to URI based, create temporary Buddy for incoming call/IM from non-buddy.
  • Implemented simple media features in chat window (mute, volume, codec info).
  • Misc: added window menu listing chat windows, changed behaviour on closing chat window, etc.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/branches/projects/pjsua2/pjsip-apps/src/pygui/application.py

    r4679 r4686  
    209209                file_menu.add_command(label="Quit", command=self._onMenuQuit) 
    210210 
     211                # Window menu 
     212                self.window_menu = tk.Menu(self.menubar, tearoff=False) 
     213                self.menubar.add_cascade(label="Window", menu=self.window_menu) 
     214                 
    211215                # Help menu 
    212216                help_menu = tk.Menu(self.menubar, tearoff=False) 
    213217                self.menubar.add_cascade(label="Help", menu=help_menu) 
    214218                help_menu.add_command(label="About", underline=2, command=self._onMenuAbout) 
     219         
     220        def _showChatWindow(self, chat_inst): 
     221                chat_inst.showWindow() 
     222                 
     223        def updateWindowMenu(self): 
     224                # Chat windows 
     225                self.window_menu.delete(0, tk.END) 
     226                for acc in self.accList: 
     227                        for c in acc.chatList: 
     228                                cmd = lambda arg=c: self._showChatWindow(arg) 
     229                                self.window_menu.add_command(label=c.title, command=cmd) 
    215230                 
    216231        def _createContextMenu(self): 
     
    312327                                bud = self._getSelectedBuddy() 
    313328                                acc = bud.account 
    314                                 chat = acc.findChat(bud) 
     329                                chat = acc.findChat(bud.cfg.uri) 
    315330                                if not chat: 
    316                                         chat = acc.newChat(bud) 
     331                                        chat = acc.newChat(bud.cfg.uri) 
    317332                                chat.showWindow() 
    318333         
     
    377392                         
    378393                if label=='Audio call': 
    379                         chat = acc.findChat(bud) 
    380                         if not chat: chat = acc.newChat(bud) 
     394                        chat = acc.findChat(bud.cfg.uri) 
     395                        if not chat: chat = acc.newChat(bud.cfg.uri) 
    381396                        chat.showWindow() 
    382397                        chat.startCall() 
    383398                elif label=='Send instant message': 
    384                         chat = acc.findChat(bud) 
    385                         if not chat: chat = acc.newChat(bud) 
     399                        chat = acc.findChat(bud.cfg.uri) 
     400                        if not chat: chat = acc.newChat(bud.cfg.uri) 
    386401                        chat.showWindow() 
    387402                elif label=='Subscribe': 
     
    493508                 
    494509if __name__ == '__main__': 
    495         print pj 
    496510        main() 
Note: See TracChangeset for help on using the changeset viewer.