Limits saving save states to when SaveStatesViewController's mode is .Saving
This commit is contained in:
parent
01bf9c0e06
commit
0b9e3e2541
@ -236,6 +236,8 @@ extension EmulationViewController: SaveStatesViewControllerDelegate
|
||||
{
|
||||
guard let filepath = saveState.fileURL.path else { return }
|
||||
|
||||
var updatingExistingSaveState = true
|
||||
|
||||
self.emulatorCore.saveSaveState { temporarySaveState in
|
||||
do
|
||||
{
|
||||
@ -246,6 +248,8 @@ extension EmulationViewController: SaveStatesViewControllerDelegate
|
||||
else
|
||||
{
|
||||
try NSFileManager.defaultManager().moveItemAtURL(temporarySaveState.fileURL, toURL: saveState.fileURL)
|
||||
|
||||
updatingExistingSaveState = false
|
||||
}
|
||||
}
|
||||
catch let error as NSError
|
||||
@ -263,6 +267,13 @@ extension EmulationViewController: SaveStatesViewControllerDelegate
|
||||
}
|
||||
|
||||
saveState.modifiedDate = NSDate()
|
||||
|
||||
// Dismiss if updating an existing save state.
|
||||
// If creating a new one, don't dismiss.
|
||||
if updatingExistingSaveState
|
||||
{
|
||||
self.pauseViewController?.dismiss()
|
||||
}
|
||||
}
|
||||
|
||||
func saveStatesViewController(saveStatesViewController: SaveStatesViewController, loadSaveState saveState: SaveState)
|
||||
|
||||
@ -238,6 +238,11 @@ private extension SaveStatesViewController
|
||||
saveState.managedObjectContext?.saveWithErrorLogging()
|
||||
}
|
||||
|
||||
func loadSaveState(saveState: SaveState)
|
||||
{
|
||||
self.delegate?.saveStatesViewController(self, loadSaveState: saveState)
|
||||
}
|
||||
|
||||
func deleteSaveState(saveState: SaveState)
|
||||
{
|
||||
let confirmationAlertController = UIAlertController(title: NSLocalizedString("Confirm Deletion", comment: ""), message: NSLocalizedString("Are you sure you want to delete this save state? This cannot be undone.", comment: ""), preferredStyle: .Alert)
|
||||
@ -281,7 +286,12 @@ extension SaveStatesViewController
|
||||
override func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath)
|
||||
{
|
||||
let saveState = self.fetchedResultsController.objectAtIndexPath(indexPath) as! SaveState
|
||||
self.delegate?.saveStatesViewController(self, loadSaveState: saveState)
|
||||
|
||||
switch self.mode
|
||||
{
|
||||
case .Saving: self.updateSaveState(saveState)
|
||||
case .Loading: self.loadSaveState(saveState)
|
||||
}
|
||||
}
|
||||
|
||||
override func collectionView(collectionView: UICollectionView, didEndDisplayingCell cell: UICollectionViewCell, forItemAtIndexPath indexPath: NSIndexPath)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user