diff --git a/Evergreen/AppDelegate.swift b/Evergreen/AppDelegate.swift index ca5508ef8..5c2b2741e 100644 --- a/Evergreen/AppDelegate.swift +++ b/Evergreen/AppDelegate.swift @@ -24,6 +24,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserInterfaceValidations { let windowControllers = NSMutableArray() var preferencesWindowController: NSWindowController? var mainWindowController: NSWindowController? + var readerWindows = [NSWindowController]() var feedListWindowController: NSWindowController? var dinosaursWindowController: DinosaursWindowController? var addFeedController: AddFeedController? @@ -131,7 +132,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserInterfaceValidations { func createAndShowMainWindow() { if mainWindowController == nil { - mainWindowController = windowControllerWithName("MainWindow") + mainWindowController = createReaderWindow() } mainWindowController!.showWindow(self) @@ -162,6 +163,13 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserInterfaceValidations { // MARK: - Actions + @IBAction func newReaderWindow(_ sender: Any?) { + + let readerWindow = createReaderWindow() + readerWindows += [readerWindow] + readerWindow.showWindow(self) + } + @IBAction func showPreferences(_ sender: AnyObject) { if preferencesWindowController == nil { @@ -304,4 +312,10 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserInterfaceValidations { } } +private extension AppDelegate { + func createReaderWindow() -> NSWindowController { + + return windowControllerWithName("MainWindow") + } +} diff --git a/Evergreen/Base.lproj/Main.storyboard b/Evergreen/Base.lproj/Main.storyboard index 12414fd00..de7304ceb 100644 --- a/Evergreen/Base.lproj/Main.storyboard +++ b/Evergreen/Base.lproj/Main.storyboard @@ -73,12 +73,17 @@ - - + + + + + + +