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()