mirror of
https://github.com/TomHarte/CLK.git
synced 2025-02-16 18:30:32 +00:00
Switched to two cycles of options loading, meaning that they get set before files are inserted. Might need some further work?
This commit is contained in:
parent
be54d8040e
commit
285a288c80
@ -310,6 +310,8 @@ class Machine:
|
||||
// Disk
|
||||
std::shared_ptr<::Commodore::C1540::Machine> _c1540;
|
||||
void install_disk_rom();
|
||||
|
||||
// Autoload string
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -66,7 +66,7 @@ class ElectronDocument: MachineDocument {
|
||||
}
|
||||
|
||||
// MARK: IBActions
|
||||
@IBOutlet var displayTypeButton: NSPopUpButton!
|
||||
@IBOutlet var displayTypeButton: NSPopUpButton?
|
||||
@IBAction func setDisplayType(sender: NSPopUpButton!) {
|
||||
electron.useTelevisionOutput = (sender.indexOfSelectedItem == 1)
|
||||
NSUserDefaults.standardUserDefaults().setInteger(sender.indexOfSelectedItem, forKey: self.displayTypeUserDefaultsKey)
|
||||
@ -82,6 +82,6 @@ class ElectronDocument: MachineDocument {
|
||||
|
||||
let displayType = standardUserDefaults.integerForKey(self.displayTypeUserDefaultsKey)
|
||||
electron.useTelevisionOutput = (displayType == 1)
|
||||
self.displayTypeButton.selectItemAtIndex(displayType)
|
||||
self.displayTypeButton?.selectItemAtIndex(displayType)
|
||||
}
|
||||
}
|
||||
|
@ -185,7 +185,7 @@ class MachineDocument:
|
||||
}
|
||||
}
|
||||
|
||||
@IBOutlet var fastLoadingButton: NSButton!
|
||||
@IBOutlet var fastLoadingButton: NSButton?
|
||||
@IBAction func setFastLoading(sender: NSButton!) {
|
||||
if let fastLoadingMachine = machine as? CSFastLoading {
|
||||
let useFastLoadingHack = sender.state == NSOnState
|
||||
@ -203,7 +203,7 @@ class MachineDocument:
|
||||
if let fastLoadingMachine = machine as? CSFastLoading {
|
||||
let useFastLoadingHack = standardUserDefaults.boolForKey(self.fastLoadingUserDefaultsKey)
|
||||
fastLoadingMachine.useFastLoadingHack = useFastLoadingHack
|
||||
self.fastLoadingButton.state = useFastLoadingHack ? NSOnState : NSOffState
|
||||
self.fastLoadingButton?.state = useFastLoadingHack ? NSOnState : NSOffState
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -35,6 +35,8 @@ class Vic20Document: MachineDocument {
|
||||
if let drive = dataForResource("1540", ofType: "bin", inDirectory: "ROMImages/Commodore1540") {
|
||||
vic20.setDriveROM(drive)
|
||||
}
|
||||
|
||||
establishStoredOptions()
|
||||
}
|
||||
|
||||
override class func autosavesInPlace() -> Bool {
|
||||
@ -67,14 +69,14 @@ class Vic20Document: MachineDocument {
|
||||
vic20.setPRG(data)
|
||||
}
|
||||
|
||||
@IBOutlet var loadAutomaticallyButton: NSButton!
|
||||
@IBOutlet var loadAutomaticallyButton: NSButton?
|
||||
var autoloadingUserDefaultsKey: String {
|
||||
get { return prefixedUserDefaultsKey("autoload") }
|
||||
}
|
||||
@IBAction func setShouldLoadAutomatically(sender: NSButton!) {
|
||||
let loadAutomatically = sender.state == NSOnState
|
||||
vic20.shouldLoadAutomatically = loadAutomatically
|
||||
self.loadAutomaticallyButton.state = loadAutomatically ? NSOnState : NSOffState
|
||||
NSUserDefaults.standardUserDefaults().setBool(loadAutomatically, forKey: self.autoloadingUserDefaultsKey)
|
||||
}
|
||||
override func establishStoredOptions() {
|
||||
super.establishStoredOptions()
|
||||
@ -86,6 +88,6 @@ class Vic20Document: MachineDocument {
|
||||
|
||||
let loadAutomatically = standardUserDefaults.boolForKey(self.autoloadingUserDefaultsKey)
|
||||
vic20.shouldLoadAutomatically = loadAutomatically
|
||||
self.loadAutomaticallyButton.state = loadAutomatically ? NSOnState : NSOffState
|
||||
self.loadAutomaticallyButton?.state = loadAutomatically ? NSOnState : NSOffState
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user