mirror of
https://github.com/Ranchero-Software/NetNewsWire
synced 2025-08-12 06:26:36 +00:00
Retain a reference to the Add Account Window Controllers so that they don't get deallocated before they have a chance to get used
This commit is contained in:
@@ -23,7 +23,7 @@ final class AccountsPreferencesViewController: NSViewController {
|
|||||||
@IBOutlet weak var detailView: NSView!
|
@IBOutlet weak var detailView: NSView!
|
||||||
@IBOutlet weak var deleteButton: NSButton!
|
@IBOutlet weak var deleteButton: NSButton!
|
||||||
var addAccountDelegate: AccountsPreferencesAddAccountDelegate?
|
var addAccountDelegate: AccountsPreferencesAddAccountDelegate?
|
||||||
|
var addAccountWindowController: NSWindowController?
|
||||||
|
|
||||||
private var sortedAccounts = [Account]()
|
private var sortedAccounts = [Account]()
|
||||||
|
|
||||||
@@ -153,7 +153,7 @@ extension AccountsPreferencesViewController: AccountsPreferencesAddAccountDelega
|
|||||||
case .onMyMac:
|
case .onMyMac:
|
||||||
let accountsAddLocalWindowController = AccountsAddLocalWindowController()
|
let accountsAddLocalWindowController = AccountsAddLocalWindowController()
|
||||||
accountsAddLocalWindowController.runSheetOnWindow(self.view.window!)
|
accountsAddLocalWindowController.runSheetOnWindow(self.view.window!)
|
||||||
|
addAccountWindowController = accountsAddLocalWindowController
|
||||||
case .cloudKit:
|
case .cloudKit:
|
||||||
let accountsAddCloudKitWindowController = AccountsAddCloudKitWindowController()
|
let accountsAddCloudKitWindowController = AccountsAddCloudKitWindowController()
|
||||||
accountsAddCloudKitWindowController.runSheetOnWindow(self.view.window!) { response in
|
accountsAddCloudKitWindowController.runSheetOnWindow(self.view.window!) { response in
|
||||||
@@ -161,17 +161,20 @@ extension AccountsPreferencesViewController: AccountsPreferencesAddAccountDelega
|
|||||||
self.tableView.reloadData()
|
self.tableView.reloadData()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
addAccountWindowController = accountsAddCloudKitWindowController
|
||||||
case .feedbin:
|
case .feedbin:
|
||||||
let accountsFeedbinWindowController = AccountsFeedbinWindowController()
|
let accountsFeedbinWindowController = AccountsFeedbinWindowController()
|
||||||
accountsFeedbinWindowController.runSheetOnWindow(self.view.window!)
|
accountsFeedbinWindowController.runSheetOnWindow(self.view.window!)
|
||||||
|
addAccountWindowController = accountsFeedbinWindowController
|
||||||
case .feedWrangler:
|
case .feedWrangler:
|
||||||
let accountsFeedWranglerWindowController = AccountsFeedWranglerWindowController()
|
let accountsFeedWranglerWindowController = AccountsFeedWranglerWindowController()
|
||||||
accountsFeedWranglerWindowController.runSheetOnWindow(self.view.window!)
|
accountsFeedWranglerWindowController.runSheetOnWindow(self.view.window!)
|
||||||
case .freshRSS:
|
addAccountWindowController = accountsFeedWranglerWindowController
|
||||||
|
case .freshRSS, .inoreader, .bazQux, .theOldReader:
|
||||||
let accountsReaderAPIWindowController = AccountsReaderAPIWindowController()
|
let accountsReaderAPIWindowController = AccountsReaderAPIWindowController()
|
||||||
accountsReaderAPIWindowController.accountType = .freshRSS
|
accountsReaderAPIWindowController.accountType = accountType
|
||||||
accountsReaderAPIWindowController.runSheetOnWindow(self.view.window!)
|
accountsReaderAPIWindowController.runSheetOnWindow(self.view.window!)
|
||||||
|
addAccountWindowController = accountsReaderAPIWindowController
|
||||||
case .feedly:
|
case .feedly:
|
||||||
let addAccount = OAuthAccountAuthorizationOperation(accountType: .feedly)
|
let addAccount = OAuthAccountAuthorizationOperation(accountType: .feedly)
|
||||||
addAccount.delegate = self
|
addAccount.delegate = self
|
||||||
@@ -181,18 +184,7 @@ extension AccountsPreferencesViewController: AccountsPreferencesAddAccountDelega
|
|||||||
case .newsBlur:
|
case .newsBlur:
|
||||||
let accountsNewsBlurWindowController = AccountsNewsBlurWindowController()
|
let accountsNewsBlurWindowController = AccountsNewsBlurWindowController()
|
||||||
accountsNewsBlurWindowController.runSheetOnWindow(self.view.window!)
|
accountsNewsBlurWindowController.runSheetOnWindow(self.view.window!)
|
||||||
case .inoreader:
|
addAccountWindowController = accountsNewsBlurWindowController
|
||||||
let accountsReaderAPIWindowController = AccountsReaderAPIWindowController()
|
|
||||||
accountsReaderAPIWindowController.accountType = .inoreader
|
|
||||||
accountsReaderAPIWindowController.runSheetOnWindow(self.view.window!)
|
|
||||||
case .bazQux:
|
|
||||||
let accountsReaderAPIWindowController = AccountsReaderAPIWindowController()
|
|
||||||
accountsReaderAPIWindowController.accountType = .bazQux
|
|
||||||
accountsReaderAPIWindowController.runSheetOnWindow(self.view.window!)
|
|
||||||
case .theOldReader:
|
|
||||||
let accountsReaderAPIWindowController = AccountsReaderAPIWindowController()
|
|
||||||
accountsReaderAPIWindowController.accountType = .theOldReader
|
|
||||||
accountsReaderAPIWindowController.runSheetOnWindow(self.view.window!)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user