diff --git a/DockPhobia/.DS_Store b/DockPhobia/.DS_Store index 18996b3..a3ce1ac 100644 Binary files a/DockPhobia/.DS_Store and b/DockPhobia/.DS_Store differ diff --git a/DockPhobia/AppDelegate.swift b/DockPhobia/AppDelegate.swift index 1051736..a47f450 100644 --- a/DockPhobia/AppDelegate.swift +++ b/DockPhobia/AppDelegate.swift @@ -51,21 +51,6 @@ class AppDelegate: NSObject, NSApplicationDelegate { let start = NSMenuItem(title: describeStartButton(), action: #selector(didTapStart), keyEquivalent: "") menu.addItem(start) - let checkforUpdatesMenuItem = NSMenuItem( - title: "Check for Updates...", - action: #selector(SPUStandardUpdaterController.checkForUpdates(_:)), - keyEquivalent: "" - ) - checkforUpdatesMenuItem.target = updateController - menu.addItem(checkforUpdatesMenuItem) - - let screen = NSMenuItem( - title: "\(mouseTracker.screen.width)x\(mouseTracker.screen.height)", - action: nil, - keyEquivalent: "" - ) - menu.addItem(screen) - let dockMoves = NSMenuItem( title: "Moved the Dock \(settings.settings.dockMoves) time\(settings.settings.dockMoves.plural)", action: nil, @@ -91,29 +76,28 @@ class AppDelegate: NSObject, NSApplicationDelegate { menu.addItem(NSMenuItem.separator()) - let checkfullscreenButton = NSMenuItem( - title: "Smaller deathzone in fullscreen", - action: #selector(checkFullscreenToggle), - keyEquivalent: "" - ) - checkfullscreenButton.state = NSControl.StateValue(rawValue: settings.settings.checkFullscreen ? 1 : 0) - menu.addItem(checkfullscreenButton) - menu.addItem(NSMenuItem.separator()) - menu.addItem(NSMenuItem( title: "Move Dock to the left", action: #selector(moveDockObjcLeft), - keyEquivalent: "")) + keyEquivalent: "1")) menu.addItem(NSMenuItem( title: "Move Dock to the bottom", action: #selector(moveDockObjcBottom), - keyEquivalent: "")) + keyEquivalent: "2")) menu.addItem(NSMenuItem( title: "Move Dock to the right", action: #selector(moveDockObjcRight), - keyEquivalent: "")) + keyEquivalent: "3")) menu.addItem(NSMenuItem.separator()) + let checkforUpdatesMenuItem = NSMenuItem( + title: "Check for Updates...", + action: #selector(SPUStandardUpdaterController.checkForUpdates(_:)), + keyEquivalent: "" + ) + checkforUpdatesMenuItem.target = updateController + menu.addItem(checkforUpdatesMenuItem) + let prefs = NSMenuItem( title: "Preferences", action: #selector(tappedPrefs), @@ -136,9 +120,13 @@ class AppDelegate: NSObject, NSApplicationDelegate { } @objc func tappedPrefs() { if prefsWindow == nil { - prefsWindow = DPPreferencesWindowController() + prefsWindow = DPPreferencesWindowController( + mouseTracker: mouseTracker, + settings: settings, + updater: updateController + ) } - prefsWindow!.showWindow(nil) + prefsWindow!.window?.orderFront(nil) } @objc func didTapStart() { diff --git a/DockPhobia/MouseTracker.swift b/DockPhobia/MouseTracker.swift index 08175f6..7b06f24 100644 --- a/DockPhobia/MouseTracker.swift +++ b/DockPhobia/MouseTracker.swift @@ -196,7 +196,7 @@ class MouseTracker { let scriptMove = """ tell application "System Events" tell dock preferences - set screen edge to \(toSide) + set screen edge to \(toSide) end tell end tell """ diff --git a/DockPhobia/SettingsController.swift b/DockPhobia/SettingsController.swift index 961ce01..40b9b61 100644 --- a/DockPhobia/SettingsController.swift +++ b/DockPhobia/SettingsController.swift @@ -10,7 +10,16 @@ import AppKit import Sparkle class DPPreferencesWindowController: NSWindowController { + var mouseTracker: MouseTracker? + var settings: DPSettingsModel? + var updater: SPUStandardUpdaterController? + + @IBOutlet weak var mouseRadio: NSButton! + @IBOutlet weak var dockRadio: NSButton! @IBOutlet weak var updateCheckButton: NSButton! + @IBOutlet weak var smallDeathzoneToggle: NSButton! + + @IBOutlet weak var quitbutton: NSButton! override init(window: NSWindow?) { super.init(window: window) @@ -20,7 +29,43 @@ class DPPreferencesWindowController: NSWindowController { super.init(coder: coder) } - convenience init() { + convenience init(mouseTracker: MouseTracker, settings: DPSettingsModel, updater: SPUStandardUpdaterController) { self.init(windowNibName: "Preferences") + self.mouseTracker = mouseTracker + self.settings = settings + self.updater = updater + } + + override func windowDidLoad() { + smallDeathzoneToggle.state = NSControl.StateValue( + settings!.settings.checkFullscreen ? 1 : 0 + ) + dockRadio.state = NSControl.StateValue( + settings!.settings.moveMouseInstead ? 0 : 1 + ) + mouseRadio.state = NSControl.StateValue( + settings!.settings.moveMouseInstead ? 1 : 0 + ) + } + + @IBAction func checkUpdates(_ sender: Any) { + updater?.checkForUpdates(nil) + } + + @IBAction func MoveTypeSelect(_ sender: Any) { + if dockRadio.state.rawValue == 1 { + settings?.settings.moveMouseInstead = false + } else { + settings?.settings.moveMouseInstead = true + } + refreshMenus() + } + + @IBAction func quit(_ sender: Any) { + NSApplication.shared.terminate(nil) + } + + @IBAction func smallDeathzoneToggle(_ sender: Any) { + settings?.settings.checkFullscreen.toggle() } } diff --git a/DockPhobia/Views/Preferences.xib b/DockPhobia/Views/Preferences.xib index 1c4590f..31551e9 100644 --- a/DockPhobia/Views/Preferences.xib +++ b/DockPhobia/Views/Preferences.xib @@ -8,32 +8,115 @@ - + + + + + - - - - + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + diff --git a/DockPhobiaPy/.DS_Store b/DockPhobiaPy/.DS_Store index 1750db6..4d69f9f 100644 Binary files a/DockPhobiaPy/.DS_Store and b/DockPhobiaPy/.DS_Store differ