def unsaved_changes(self): # dialog to be called to # check for unsaved changes to # the current game # if current game has unsaved changes # or is not saved in database # ask user if he wants save it # # returns # 1) QMessageBox.Discard if the user discarded # 2) QMessageBox.Cancel if the user canceled # 3) QMessageBox.Save if the user chose to save # saves the game before returning in case 3) if(self.model.database.index_current_game == None or self.model.gamestate.unsaved_changes): dlg_changes = DialogSaveChanges() ret = dlg_changes.exec_() if(ret == QMessageBox.Save): # if game is not in db append if(self.model.database.index_current_game == None): self.mainAppWindow.gameMenuController.editGameData() self.model.database.append_game(self.model.gamestate.current) else: self.model.database.update_game(self.model.database.index_current_game,self.model.gamestate.current) self.mainAppWindow.save.setEnabled(False) return ret else: return QMessageBox.Discard
def unsaved_changes(self): # dialog to be called to # check for unsaved changes to # the current game # if current game has unsaved changes # or is not saved in database # ask user if he wants save it # # returns # 1) QMessageBox.Discard if the user discarded # 2) QMessageBox.Cancel if the user canceled # 3) QMessageBox.Save if the user chose to save # saves the game before returning in case 3) if (self.model.database.index_current_game == None or self.model.gamestate.unsaved_changes): dlg_changes = DialogSaveChanges() ret = dlg_changes.exec_() if (ret == QMessageBox.Save): # if game is not in db append if (self.model.database.index_current_game == None): self.mainAppWindow.gameMenuController.editGameData() self.model.database.append_game( self.model.gamestate.current) else: self.model.database.update_game( self.model.database.index_current_game, self.model.gamestate.current) self.mainAppWindow.save.setEnabled(False) return ret else: return QMessageBox.Discard
def browse_games(self): mainWindow = self.mainAppWindow print("checksum is now: "+str(self.model.database.filename)) self.model.database.reload_if_necessary(mainWindow) selectedGame = 0 #mainWindow.model.gamestate.mode = model.gamestate.MODE_ENTER_MOVES mainWindow.gamestateController.on_enter_moves_mode() print("checksum is now0: "+self.model.database.filename) dlg = DialogBrowsePgn(self.model.database) print("checksum is now1: "+self.model.database.filename) if dlg.exec_() == QDialog.Accepted: items = dlg.table.selectedItems() if(len(items) > 0): selectedGame = int(items[0].text())-1 loaded_game = self.model.database.load_game(selectedGame) print("checksum is now2: "+self.model.database.filename) #print("loaded game: "+str(loaded_game)) if(not loaded_game == None): # if the user wants to load a game, but the current open # game has still unsaved changes or hasn't been saved at all, # ask user what to do cancel = False if(self.model.database.index_current_game == None or self.model.gamestate.unsaved_changes): changes_dialog = DialogSaveChanges() ret = changes_dialog.exec_() if(ret == QMessageBox.Save): if(self.model.database.index_current_game == None): self.gs_ctr.editGameData() self.model.database.append_game(self.model.gamestate.current) else: print(self.model.gamestate.current) print(self.model.database.index_current_game) self.model.database.update_game(self.model.database.index_current_game,\ self.model.gamestate.current) self.mainAppWindow.save.setEnabled(False) if(ret == QMessageBox.Cancel): cancel = True if(not cancel): self.model.gamestate.current = loaded_game self.mainAppWindow.chessboard_view.update() self.mainAppWindow.chessboard_view.emit(SIGNAL("statechanged()")) self.model.gamestate.unsaved_changes = False self.mainAppWindow.save.setEnabled(False) self.mainAppWindow.setLabels() self.mainAppWindow.moves_edit_view.setFocus() self.model.gamestate.init_game_tree(self.mainAppWindow) print("checksum is now5: "+self.model.database.checksum) self.mainAppWindow.moves_edit_view.setFocus() print("checksum is now3: "+self.model.database.checksum)
def browse_games(self): mainWindow = self.mainAppWindow self.model.database.reload_if_necessary(mainWindow) selectedGame = 0 mainWindow.gamestateController.on_enter_moves_mode() dlg = DialogBrowsePgn(self.model.database) if dlg.exec_() == QDialog.Accepted: items = dlg.table.selectedItems() if len(items) > 0: selectedGame = int(items[0].text()) - 1 loaded_game = self.model.database.load_game(selectedGame) if not loaded_game == None: # if the user wants to load a game, but the current open # game has still unsaved changes or hasn't been saved at all, # ask user what to do cancel = False if self.model.database.index_current_game == None or self.model.gamestate.unsaved_changes: changes_dialog = DialogSaveChanges() ret = changes_dialog.exec_() if ret == QMessageBox.Save: if self.model.database.index_current_game == None: self.gs_ctr.editGameData() self.model.database.append_game(self.model.gamestate.current) else: self.model.database.update_game( self.model.database.index_current_game, self.model.gamestate.current ) self.mainAppWindow.save.setEnabled(False) if ret == QMessageBox.Cancel: cancel = True if not cancel: self.model.gamestate.current = loaded_game self.mainAppWindow.chessboard_view.update() self.mainAppWindow.chessboard_view.emit(SIGNAL("statechanged()")) self.model.gamestate.unsaved_changes = False self.mainAppWindow.save.setEnabled(False) self.mainAppWindow.setLabels() self.mainAppWindow.moves_edit_view.setFocus() self.model.gamestate.init_game_tree(self.mainAppWindow) self.mainAppWindow.moves_edit_view.setFocus()
def browse_games(self): mainWindow = self.mainAppWindow self.model.database.reload_if_necessary(mainWindow) selectedGame = 0 mainWindow.gamestateController.on_enter_moves_mode() dlg = DialogBrowsePgn(self.model.database) if dlg.exec_() == QDialog.Accepted: items = dlg.table.selectedItems() if(len(items) > 0): selectedGame = int(items[0].text())-1 loaded_game = self.model.database.load_game(selectedGame) if(not loaded_game == None): # if the user wants to load a game, but the current open # game has still unsaved changes or hasn't been saved at all, # ask user what to do cancel = False if(self.model.database.index_current_game == None or self.model.gamestate.unsaved_changes): changes_dialog = DialogSaveChanges() ret = changes_dialog.exec_() if(ret == QMessageBox.Save): if(self.model.database.index_current_game == None): self.gs_ctr.editGameData() self.model.database.append_game(self.model.gamestate.current) else: self.model.database.update_game(self.model.database.index_current_game,\ self.model.gamestate.current) self.mainAppWindow.save.setEnabled(False) if(ret == QMessageBox.Cancel): cancel = True if(not cancel): self.model.gamestate.current = loaded_game self.mainAppWindow.chessboard_view.update() self.mainAppWindow.chessboard_view.emit(SIGNAL("statechanged()")) self.model.gamestate.unsaved_changes = False self.mainAppWindow.save.setEnabled(False) self.mainAppWindow.setLabels() self.mainAppWindow.moves_edit_view.setFocus() self.model.gamestate.init_game_tree(self.mainAppWindow) self.mainAppWindow.moves_edit_view.setFocus()