From 9af9b8c47ed97ad4d652ec875592085a4b3e537c Mon Sep 17 00:00:00 2001 From: mxgc <62173553+mxgc@users.noreply.github.com> Date: Sun, 12 Apr 2020 19:35:51 -0700 Subject: [PATCH] add feature - press `r` to restart with the last timer after `esc` is pressed or timer runs out. (#75) --- README.md | 1 + Timer/MVClockView.swift | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/README.md b/README.md index d7b6675..aa9ed7d 100644 --- a/README.md +++ b/README.md @@ -31,3 +31,4 @@ Enter digits to set minutes. A decimal point specifies seconds so `2.34` is 2 mi backspace or escape to edit. enter to start or pause the timer. cmd+n to create a new timer. +r to restart with the last timer. diff --git a/Timer/MVClockView.swift b/Timer/MVClockView.swift index d129e10..8d4ee65 100644 --- a/Timer/MVClockView.swift +++ b/Timer/MVClockView.swift @@ -14,6 +14,7 @@ class MVClockView: NSControl { private var secondsLabel: NSTextView! private var secondsSuffixWidth: CGFloat = 0.0 private var inputSeconds: Bool = false + private var lastTimerSeconds: CGFloat? private let docktile: NSDockTile = NSApplication.shared.dockTile public var inDock : Bool = false{ didSet{ @@ -294,6 +295,13 @@ class MVClockView: NSControl { } else if (key == Keycode.returnKey || key == Keycode.space || key == Keycode.keypadEnter) { // "Enter" or "Space" or "Keypad Enter" self.handleClick(); + } else if (key == Keycode.r && self.timer == nil && self.paused != true) { + // "r" for restarting with the last timer + if let seconds = self.lastTimerSeconds { + self.seconds = seconds + self.handleClick() + } + } } @@ -375,6 +383,7 @@ class MVClockView: NSControl { private func start() { guard self.seconds > 0 else { return } + self.lastTimerSeconds = self.seconds self.paused = false self.stop()