def playerComboCall(self, idx): if idx == self.ui.playerCombo.count()-1: newName, ok = QInputDialog.getText(self,'Add New Player','Enter a new player name') if newName == '' or not ok: return if newName in self.playerData.keys(): QMessageBox.information(self, 'Player exists', 'The player %s already exists' % (newName)) newCfg = mathConfig.mathConfig() newCfg['lastPlayer'] = True for k in self.playerData.keys(): self.playerData[k]['lastPlayer'] = False self.playerData[newName] = newCfg self.populatePlayerCombo() self.setupPlayer(newName) else: newName = self.ui.playerCombo.itemText(idx) if newName == self.currentPlayer: return for k in self.playerData.keys(): if newName == k: self.playerData[newName]['lastPlayer'] = True else: self.playerData[newName]['lastPlayer'] = False self.setupPlayer(newName) self.saveSettings()
def loadSettings(self): fname = os.path.abspath(os.path.expanduser('~/.mathflash/mathflash.json')) try: data = json.load(open(fname,'r')) except: self.init_file(fname) data = json.load(open(fname,'r')) pdata = data['players'] self.playerData = dict() lastPlayer = '' for k, v in pdata.iteritems(): cfg = mathConfig.mathConfig() if v['lastPlayer']: lastPlayer=k for kk, vv in v.iteritems(): cfg[kk] = vv self.playerData[k] = cfg if lastPlayer != '': self.currentPlayer = lastPlayer self.currentPlayerData = self.playerData[self.currentPlayer] self.populatePlayerCombo() self.setupPlayer(lastPlayer)