def _onBtnSettings(self): acc = self._getSelectedAcc() if not acc: return dlg = accountsetting.Dialog(self.master, acc.cfg) if dlg.doModal(): self.updateAccount(acc) self.cfgChanged = True
def _onBtnAdd(self): cfg = pj.AccountConfig() dlg = accountsetting.Dialog(self.master, cfg) if dlg.doModal(): acc = Account(self.app) acc.cfg = cfg self._showAcc(acc) self.accList.append(acc) self.cfgChanged = True
def _onAccContextMenu(self, label): acc = self._getSelectedAccount() if not acc: return if label == 'Unregister': acc.setRegistration(False) elif label == 'Reregister': acc.setRegistration(True) elif label == 'Online': ps = pj.PresenceStatus() ps.status = pj.PJSUA_BUDDY_STATUS_ONLINE acc.setOnlineStatus(ps) elif label == 'Invisible': ps = pj.PresenceStatus() ps.status = pj.PJSUA_BUDDY_STATUS_OFFLINE acc.setOnlineStatus(ps) elif label == 'Away': ps = pj.PresenceStatus() ps.status = pj.PJSUA_BUDDY_STATUS_ONLINE ps.activity = pj.PJRPID_ACTIVITY_AWAY ps.note = "Away" acc.setOnlineStatus(ps) elif label == 'Busy': ps = pj.PresenceStatus() ps.status = pj.PJSUA_BUDDY_STATUS_ONLINE ps.activity = pj.PJRPID_ACTIVITY_BUSY ps.note = "Busy" acc.setOnlineStatus(ps) elif label == 'Settings...': self.cfgChanged = False dlg = accountsetting.Dialog(self.master, acc.cfg) if dlg.doModal(): self.updateAccount(acc) acc.modify(acc.cfg) elif label == 'Delete...': msg = "Do you really want to delete account '%s'?" % acc.cfg.idUri if msgbox.askquestion('Delete account?', msg, default=msgbox.NO) != u'yes': return iid = str(acc.randId) self.accList.remove(acc) acc.setRegistration(False) acc.deleting = True del acc self.tv.delete((iid, )) elif label == 'Add buddy...': cfg = pj.BuddyConfig() dlg = buddy.SettingDialog(self.master, cfg) if dlg.doModal(): self._createBuddy(acc, cfg) else: assert not ("Unknown menu " + label)
def _onTvDoubleClick(self, event): iid = self.tv.identify_row(event.y) if iid: self.tv.selection_set( (iid,) ) acc = self._getSelectedAccount() if acc: self.cfgChanged = False dlg = accountsetting.Dialog(self.master, acc.cfg) if dlg.doModal(): self.updateAccount(acc) acc.modify(acc.cfg) else: bud = self._getSelectedBuddy() acc = bud.account chat = acc.findChat(bud.cfg.uri) if not chat: chat = acc.newChat(bud.cfg.uri) chat.showWindow()
def _onMenuAddAccount(self): cfg = pj.AccountConfig() dlg = accountsetting.Dialog(self.master, cfg) if dlg.doModal(): self._createAcc(cfg)