Adds SaveState.localizedName
This commit is contained in:
parent
9a186ffea9
commit
eaa8429bd8
@ -22,6 +22,13 @@ import Harmony
|
|||||||
@objc(SaveState)
|
@objc(SaveState)
|
||||||
public class SaveState: _SaveState, SaveStateProtocol
|
public class SaveState: _SaveState, SaveStateProtocol
|
||||||
{
|
{
|
||||||
|
public static let localizedDateFormatter: DateFormatter = {
|
||||||
|
let dateFormatter = DateFormatter()
|
||||||
|
dateFormatter.timeStyle = .short
|
||||||
|
dateFormatter.dateStyle = .short
|
||||||
|
return dateFormatter
|
||||||
|
}()
|
||||||
|
|
||||||
public var fileURL: URL {
|
public var fileURL: URL {
|
||||||
let fileURL = DatabaseManager.saveStatesDirectoryURL(for: self.game!).appendingPathComponent(self.filename)
|
let fileURL = DatabaseManager.saveStatesDirectoryURL(for: self.game!).appendingPathComponent(self.filename)
|
||||||
return fileURL
|
return fileURL
|
||||||
@ -37,6 +44,11 @@ public class SaveState: _SaveState, SaveStateProtocol
|
|||||||
return self.game!.type
|
return self.game!.type
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public var localizedName: String {
|
||||||
|
let localizedName = self.name ?? SaveState.localizedDateFormatter.string(from: self.modifiedDate)
|
||||||
|
return localizedName
|
||||||
|
}
|
||||||
|
|
||||||
@NSManaged private var primitiveFilename: String
|
@NSManaged private var primitiveFilename: String
|
||||||
@NSManaged private var primitiveIdentifier: String
|
@NSManaged private var primitiveIdentifier: String
|
||||||
@NSManaged private var primitiveCreationDate: Date
|
@NSManaged private var primitiveCreationDate: Date
|
||||||
|
|||||||
@ -70,16 +70,10 @@ class SaveStatesViewController: UICollectionViewController
|
|||||||
|
|
||||||
private var emulatorCoreSaveState: SaveStateProtocol?
|
private var emulatorCoreSaveState: SaveStateProtocol?
|
||||||
|
|
||||||
private let dateFormatter: DateFormatter
|
|
||||||
|
|
||||||
required init?(coder aDecoder: NSCoder)
|
required init?(coder aDecoder: NSCoder)
|
||||||
{
|
{
|
||||||
self.dataSource = RSTFetchedResultsCollectionViewPrefetchingDataSource<SaveState, UIImage>(fetchedResultsController: NSFetchedResultsController())
|
self.dataSource = RSTFetchedResultsCollectionViewPrefetchingDataSource<SaveState, UIImage>(fetchedResultsController: NSFetchedResultsController())
|
||||||
|
|
||||||
self.dateFormatter = DateFormatter()
|
|
||||||
self.dateFormatter.timeStyle = .short
|
|
||||||
self.dateFormatter.dateStyle = .short
|
|
||||||
|
|
||||||
super.init(coder: aDecoder)
|
super.init(coder: aDecoder)
|
||||||
|
|
||||||
self.prepareDataSource()
|
self.prepareDataSource()
|
||||||
@ -255,9 +249,7 @@ private extension SaveStatesViewController
|
|||||||
cell.maximumImageSize = CGSize(width: self.prototypeCellWidthConstraint.constant, height: (self.prototypeCellWidthConstraint.constant / dimensions.width) * dimensions.height)
|
cell.maximumImageSize = CGSize(width: self.prototypeCellWidthConstraint.constant, height: (self.prototypeCellWidthConstraint.constant / dimensions.width) * dimensions.height)
|
||||||
|
|
||||||
cell.textLabel.font = UIFont.preferredFont(forTextStyle: .subheadline)
|
cell.textLabel.font = UIFont.preferredFont(forTextStyle: .subheadline)
|
||||||
|
cell.textLabel.text = saveState.localizedName
|
||||||
let name = saveState.name ?? self.dateFormatter.string(from: saveState.modifiedDate)
|
|
||||||
cell.textLabel.text = name
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func configure(_ headerView: SaveStatesCollectionHeaderView, forSection section: Int)
|
func configure(_ headerView: SaveStatesCollectionHeaderView, forSection section: Int)
|
||||||
|
|||||||
@ -27,14 +27,6 @@ class GameSyncStatusViewController: UITableViewController
|
|||||||
|
|
||||||
private lazy var dataSource = self.makeDataSource()
|
private lazy var dataSource = self.makeDataSource()
|
||||||
|
|
||||||
private let dateFormatter: DateFormatter = {
|
|
||||||
let dateFormatter = DateFormatter()
|
|
||||||
dateFormatter.timeStyle = .short
|
|
||||||
dateFormatter.dateStyle = .short
|
|
||||||
|
|
||||||
return dateFormatter
|
|
||||||
}()
|
|
||||||
|
|
||||||
private var recordsByObjectURI = [URL: Record<NSManagedObject>]()
|
private var recordsByObjectURI = [URL: Record<NSManagedObject>]()
|
||||||
|
|
||||||
override func viewDidLoad()
|
override func viewDidLoad()
|
||||||
@ -100,15 +92,7 @@ private extension GameSyncStatusViewController
|
|||||||
|
|
||||||
let saveStatesDataSource = RSTFetchedResultsTableViewDataSource(fetchRequest: saveStatesFetchRequest, managedObjectContext: DatabaseManager.shared.viewContext)
|
let saveStatesDataSource = RSTFetchedResultsTableViewDataSource(fetchRequest: saveStatesFetchRequest, managedObjectContext: DatabaseManager.shared.viewContext)
|
||||||
saveStatesDataSource.cellConfigurationHandler = { (cell, saveState, indexPath) in
|
saveStatesDataSource.cellConfigurationHandler = { (cell, saveState, indexPath) in
|
||||||
if let name = saveState.name
|
cell.textLabel?.text = saveState.localizedName
|
||||||
{
|
|
||||||
cell.textLabel?.text = name
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
cell.textLabel?.text = self.dateFormatter.string(from: saveState.modifiedDate)
|
|
||||||
}
|
|
||||||
|
|
||||||
configure(cell, recordedObject: saveState)
|
configure(cell, recordedObject: saveState)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user