Close the finding-feed progress window once the feed has been found. Fix #145.
This commit is contained in:
parent
861afa06c7
commit
7207598cdc
|
@ -8,7 +8,48 @@
|
|||
|
||||
import Cocoa
|
||||
|
||||
class IndeterminateProgressWindowController: NSWindowController {
|
||||
func runIndeterminateProgressWithMessage(_ message: String) {
|
||||
|
||||
IndeterminateProgressController.beginProgressWithMessage(message)
|
||||
}
|
||||
|
||||
func stopIndeterminateProgress() {
|
||||
|
||||
IndeterminateProgressController.endProgress()
|
||||
}
|
||||
|
||||
private final class IndeterminateProgressController {
|
||||
|
||||
static var windowController: IndeterminateProgressWindowController?
|
||||
static var runningProgressWindow = false
|
||||
|
||||
static func beginProgressWithMessage(_ message: String) {
|
||||
|
||||
if runningProgressWindow {
|
||||
assertionFailure("Expected !runningProgressWindow.")
|
||||
endProgress()
|
||||
}
|
||||
|
||||
runningProgressWindow = true
|
||||
windowController = IndeterminateProgressWindowController(message: message)
|
||||
NSApplication.shared.runModal(for: windowController!.window!)
|
||||
}
|
||||
|
||||
static func endProgress() {
|
||||
|
||||
if !runningProgressWindow {
|
||||
assertionFailure("Expected runningProgressWindow.")
|
||||
return
|
||||
}
|
||||
|
||||
runningProgressWindow = false
|
||||
NSApplication.shared.stopModal()
|
||||
windowController?.close()
|
||||
windowController = nil
|
||||
}
|
||||
}
|
||||
|
||||
private final class IndeterminateProgressWindowController: NSWindowController {
|
||||
|
||||
@IBOutlet var messageLabel: NSTextField!
|
||||
@IBOutlet var progressIndicator: NSProgressIndicator!
|
||||
|
@ -26,13 +67,5 @@ class IndeterminateProgressWindowController: NSWindowController {
|
|||
}
|
||||
}
|
||||
|
||||
func runIndeterminateProgressWithMessage(_ message: String) {
|
||||
|
||||
let windowController = IndeterminateProgressWindowController(message: message)
|
||||
NSApplication.shared.runModal(for: windowController.window!)
|
||||
}
|
||||
|
||||
func stopIndeterminateProgress() {
|
||||
|
||||
NSApplication.shared.stopModal()
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue