Adds an account behavior to disable folders

Some sync services (Feed Wrangler) don't support folders. This behavior removes the account from the UI when adding new folders.
This commit is contained in:
Jonathan Bennett 2020-05-07 10:03:04 -04:00
parent 2324d652cd
commit a37bfd5d74
4 changed files with 14 additions and 3 deletions

View File

@ -28,6 +28,11 @@ public enum AccountBehavior: Equatable {
*/
case disallowFeedInRootFolder
/**
Account doesn't support folders
*/
case disallowFolderManagement
/**
Account doesn't support OPML imports
*/

View File

@ -16,7 +16,7 @@ import Secrets
final class FeedWranglerAccountDelegate: AccountDelegate {
var behaviors: AccountBehaviors = []
var behaviors: AccountBehaviors = [.disallowFolderManagement]
var isOPMLImportInProgress = false
var server: String? = FeedWranglerConfig.clientPath

View File

@ -42,7 +42,11 @@ class AddFolderWindowController : NSWindowController {
let menu = NSMenu()
accountPopupButton.menu = menu
for oneAccount in AccountManager.shared.sortedActiveAccounts {
let accounts = AccountManager.shared
.sortedActiveAccounts
.filter { !$0.behaviors.contains(.disallowFolderManagement) }
for oneAccount in accounts {
let oneMenuItem = NSMenuItem()
oneMenuItem.title = oneAccount.nameForDisplay

View File

@ -43,7 +43,9 @@ class AddFolderViewController: UITableViewController, AddContainerViewController
super.viewDidLoad()
accounts = AccountManager.shared.sortedActiveAccounts
accounts = AccountManager.shared
.sortedActiveAccounts
.filter { !$0.behaviors.contains(.disallowFolderManagement) }
nameTextField.delegate = self