From 1f686c4e6b32d42caa87252ef47d44d346846946 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Mon, 14 Jun 2021 21:30:30 -0400 Subject: [PATCH] Add missing AppleIIOptionsPanel class. --- .../Documents/AppleIIOptionsPanel.swift | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 OSBindings/Mac/Clock Signal/Documents/AppleIIOptionsPanel.swift diff --git a/OSBindings/Mac/Clock Signal/Documents/AppleIIOptionsPanel.swift b/OSBindings/Mac/Clock Signal/Documents/AppleIIOptionsPanel.swift new file mode 100644 index 000000000..cc45040e9 --- /dev/null +++ b/OSBindings/Mac/Clock Signal/Documents/AppleIIOptionsPanel.swift @@ -0,0 +1,37 @@ +// +// AppleIIOptionsPanel.swift +// Clock Signal +// +// Created by Thomas Harte on 07/06/2021. +// Copyright 2021 Thomas Harte. All rights reserved. +// + +class AppleIIOptionsPanel: MachinePanel { + var appleII: CSAppleII! { + get { + return self.machine.appleII + } + } + var squarePixelsUserDefaultsKey: String { + return prefixedUserDefaultsKey("useSquarePixels") + } + + @IBOutlet var squarePixelButton: NSButton! + + @IBAction func optionDidChange(_ sender: AnyObject!) { + let useSquarePixels = squarePixelButton.state == .on + appleII.useSquarePixels = useSquarePixels + + let standardUserDefaults = UserDefaults.standard + standardUserDefaults.set(useSquarePixels, forKey: squarePixelsUserDefaultsKey) + } + + override func establishStoredOptions() { + super.establishStoredOptions() + + let standardUserDefaults = UserDefaults.standard + let useSquarePixels = standardUserDefaults.bool(forKey: squarePixelsUserDefaultsKey) + appleII.useSquarePixels = useSquarePixels + squarePixelButton.state = useSquarePixels ? .on : .off + } +}