Ignore:
Timestamp:
Dec 4, 2013 12:19:48 PM (10 years ago)
Author:
nanang
Message:

Re #1708: Implement adding participants, also various misc updates/fixes.

File:
1 edited

Legend:

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

    r4671 r4677  
    7474                self.columnconfigure(1, weight=0) 
    7575                 
    76                 self._text = tk.Text(self, font=("Arial", "10")) 
     76                self._text = tk.Text(self, width=50, height=30, font=("Arial", "10")) 
    7777                self._text.grid(row=0, column=0, sticky='nswe') 
    7878                self._text.config(state=tk.DISABLED) 
     
    8383                scrl.grid(row=0, column=1, sticky='nsw') 
    8484                 
    85                 self._typingBox = tk.Text(self, height=1, font=("Arial", "10")) 
     85                self._typingBox = tk.Text(self, width=50, height=1, font=("Arial", "10")) 
    8686                self._typingBox.grid(row=1, columnspan=2, sticky='we', pady=0) 
    8787                 
     
    112112                         
    113113class AudioObserver: 
    114         def onRetry(self, peer_uri): 
    115                 pass 
    116         def onKick(self, peer_uri): 
     114        def onHangup(self, peer_uri): 
    117115                pass 
    118116        def onHold(self, peer_uri): 
     117                pass 
     118        def onUnhold(self, peer_uri): 
    119119                pass 
    120120        def onRxMute(self, peer_uri, is_muted): 
     
    135135                self._rxMute = False 
    136136                self._txMute = False 
    137  
    138                 # internal state: 0:init - 1:established - 2:failure/rejected 3:normal cleared 
    139137                self._state = AudioState.NULL 
    140138                 
     
    149147                        self._callFrame.pack_forget() 
    150148                        self._initFrame.pack(fill=tk.BOTH) 
    151                         self._btnRetry.pack_forget() 
    152149                        self._btnCancel.pack(side=tk.TOP) 
    153150                        self._lblInitState['text'] = 'Intializing..' 
     
    161158                        if state == AudioState.FAILED: 
    162159                                self._lblInitState['text'] = 'Failed' 
    163                                 self._btnRetry.pack() 
    164160                        else: 
    165161                                self._lblInitState['text'] = 'Normal cleared' 
    166162                                self._btnCancel.pack_forget() 
     163                         
     164                        self._btnHold['text'] = 'Hold' 
     165                        self._btnHold.config(state=tk.NORMAL) 
    167166                 
    168167                # save last state 
    169168                self._state = state 
    170169                 
    171         def _onRetry(self): 
    172                 self._btnRetry.pack_forget() 
    173                 self._state = 0 
    174                 # notify app 
    175                 self._observer.onRetry(self.peerUri) 
    176  
    177         def _onKick(self): 
    178                 # notify app 
    179                 self._observer.onKick(self.peerUri) 
    180                  
    181170        def _onHold(self): 
    182                 # notify app 
    183                 self._observer.onHold(self.peerUri) 
     171                self._btnHold.config(state=tk.DISABLED) 
     172                # notify app 
     173                if self._btnHold['text'] == 'Hold': 
     174                        self._observer.onHold(self.peerUri) 
     175                        self._btnHold['text'] = 'Unhold' 
     176                else: 
     177                        self._observer.onUnhold(self.peerUri) 
     178                        self._btnHold['text'] = 'Hold' 
     179                self._btnHold.config(state=tk.NORMAL) 
    184180 
    185181        def _onHangup(self): 
    186182                # notify app 
    187                 self._observer.onKick(self.peerUri) 
     183                self._observer.onHangup(self.peerUri) 
    188184 
    189185        def _onRxMute(self): 
     
    210206                self._lblInitState.pack(side=tk.TOP, fill=tk.X, expand=1) 
    211207                 
    212                 # Operation: retry, cancel/kick 
    213                 self._btnRetry = ttk.Button(self._initFrame, text = 'Retry', command=self._onRetry) 
    214                 self._btnRetry.pack(side=tk.TOP) 
    215                 self._btnCancel = ttk.Button(self._initFrame, text = 'Cancel', command=self._onKick) 
     208                # Operation: cancel/kick 
     209                self._btnCancel = ttk.Button(self._initFrame, text = 'Cancel', command=self._onHangup) 
    216210                self._btnCancel.pack(side=tk.TOP) 
    217211                                 
     
    383377                                aud_frm.updateState(state) 
    384378                                break 
     379                if state >= AudioState.DISCONNECTED and len(self._audioFrames) == 1: 
     380                        self.enableAudio(False) 
     381                else: 
     382                        self.enableAudio(True) 
    385383                                                 
    386384if __name__ == '__main__': 
Note: See TracChangeset for help on using the changeset viewer.