mirror of
https://github.com/Ranchero-Software/NetNewsWire
synced 2025-08-12 06:26:36 +00:00
Begin work on porting the add feed/folder dialog to SwiftUI
This commit is contained in:
50
iOS/Add/UIKit/AddFeedFolderPickerData.swift
Normal file
50
iOS/Add/UIKit/AddFeedFolderPickerData.swift
Normal file
@@ -0,0 +1,50 @@
|
||||
//
|
||||
// AddFeedFolderPickerData.swift
|
||||
// NetNewsWire
|
||||
//
|
||||
// Created by Maurice Parker on 4/16/19.
|
||||
// Copyright © 2019 Ranchero Software, LLC. All rights reserved.
|
||||
//
|
||||
|
||||
|
||||
import Foundation
|
||||
import Account
|
||||
import RSCore
|
||||
import RSTree
|
||||
|
||||
struct AddFeedFolderPickerData {
|
||||
|
||||
var containerNames = [String]()
|
||||
var containers = [Container]()
|
||||
|
||||
init() {
|
||||
|
||||
let treeControllerDelegate = FolderTreeControllerDelegate()
|
||||
let treeController = TreeController(delegate: treeControllerDelegate)
|
||||
|
||||
treeController.rootNode.childNodes.forEach { node in
|
||||
|
||||
guard let acctNameProvider = node.representedObject as? DisplayNameProvider else {
|
||||
return
|
||||
}
|
||||
|
||||
let acctName = acctNameProvider.nameForDisplay
|
||||
containerNames.append(acctName)
|
||||
containers.append(node.representedObject as! Container)
|
||||
|
||||
for child in node.childNodes {
|
||||
|
||||
guard let childContainer = child.representedObject as? Container else {
|
||||
return
|
||||
}
|
||||
let childName = (childContainer as! DisplayNameProvider).nameForDisplay
|
||||
containerNames.append("\(acctName) / \(childName)")
|
||||
containers.append(childContainer)
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user