mirror of
https://github.com/Ranchero-Software/NetNewsWire
synced 2025-08-12 06:26:36 +00:00
Add a whole ton more code.
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
//
|
||||
// AddFolderWindowController.swift
|
||||
// Evergreen
|
||||
//
|
||||
// Created by Brent Simmons on 8/1/15.
|
||||
// Copyright © 2015 Ranchero Software, LLC. All rights reserved.
|
||||
//
|
||||
|
||||
import Cocoa
|
||||
import DataModel
|
||||
|
||||
//func addFolderWindowController() -> AddFolderWindowController {
|
||||
//
|
||||
// return AddFolderWindowController(windowNibName: "AddFolderSheet")
|
||||
//}
|
||||
|
||||
class AddFolderWindowController : NSWindowController {
|
||||
|
||||
@IBOutlet var folderNameTextField: NSTextField!
|
||||
@IBOutlet var accountPopupButton: NSPopUpButton!
|
||||
var hostWindow: NSWindow?
|
||||
|
||||
convenience init() {
|
||||
|
||||
self.init(windowNibName: "AddFolderSheet")
|
||||
}
|
||||
|
||||
// MARK: API
|
||||
|
||||
func runSheetOnWindow(_ w: NSWindow) {
|
||||
|
||||
hostWindow = w
|
||||
hostWindow!.beginSheet(window!) { (returnCode: NSModalResponse) -> Void in
|
||||
|
||||
if returnCode == NSModalResponseOK {
|
||||
self.addFolderIfNeeded()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: NSViewController
|
||||
|
||||
override func windowDidLoad() {
|
||||
|
||||
accountPopupButton.removeAllItems()
|
||||
let menu = NSMenu()
|
||||
for oneAccount in AccountManager.sharedInstance.sortedAccounts {
|
||||
let oneMenuItem = NSMenuItem()
|
||||
oneMenuItem.title = oneAccount.nameForDisplay
|
||||
oneMenuItem.representedObject = oneAccount
|
||||
menu.addItem(oneMenuItem)
|
||||
}
|
||||
accountPopupButton.menu = menu
|
||||
}
|
||||
|
||||
// MARK: Private
|
||||
|
||||
private func addFolderIfNeeded() {
|
||||
|
||||
guard let menuItem = accountPopupButton.selectedItem else {
|
||||
return
|
||||
}
|
||||
let account = menuItem.representedObject as! Account
|
||||
|
||||
let folderName = self.folderNameTextField.stringValue
|
||||
if folderName.isEmpty {
|
||||
return
|
||||
}
|
||||
|
||||
let _ = account.ensureFolderWithName(folderName)
|
||||
}
|
||||
|
||||
// MARK: Actions
|
||||
|
||||
@IBAction func cancel(_ sender: AnyObject) {
|
||||
|
||||
hostWindow!.endSheet(window!, returnCode: NSModalResponseCancel)
|
||||
}
|
||||
|
||||
@IBAction func addFolder(_ sender: AnyObject) {
|
||||
|
||||
hostWindow!.endSheet(window!, returnCode: NSModalResponseOK)
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user