This commit is contained in:
Alin
2024-08-02 22:13:01 -06:00
parent e425219c99
commit 26f8478274
10 changed files with 778 additions and 195 deletions
+23 -23
View File
@@ -65,8 +65,7 @@ class AppState: ObservableObject {
id: UUID(),
fileSize: [:],
fileSizeLogical: [:],
fileIcon: [:],
isDirectory: [:]
fileIcon: [:]
)
updateExtensionStatus()
@@ -134,7 +133,6 @@ struct ZombieFile: Identifiable, Equatable, Hashable {
var fileSize: [URL:Int64]
var fileSizeLogical: [URL:Int64]
var fileIcon: [URL:NSImage?]
var isDirectory: [URL:Bool]
var totalSize: Int64
{
return fileSize.values.reduce(0, +)
@@ -145,29 +143,31 @@ struct ZombieFile: Identifiable, Equatable, Hashable {
}
static let empty = ZombieFile(id: UUID(), fileSize: [:], fileSizeLogical: [:], fileIcon: [:], isDirectory: [:])
static let empty = ZombieFile(id: UUID(), fileSize: [:], fileSizeLogical: [:], fileIcon: [:])
}
extension ZombieFile {
/// Converts the data in ZombieFile into a list of Item instances.
func toItems() -> [Item] {
var items = [Item]()
// Iterate over each URL in fileSize to get corresponding properties
for (url, size) in fileSize {
let name = url.lastPathComponent
let isDir = isDirectory[url] ?? false
let parent = url.deletingLastPathComponent()
// Create an Item instance for each URL
let item = Item(url: url, name: name, size: size, isDirectory: isDir, parentURL: parent)
items.append(item)
}
return items//.sorted { $0.size > $1.size }
}
}
//extension ZombieFile {
// func toItems() -> [Item] {
// var items: [Item] = []
//
// for (url, size) in self.fileSize {
// let name = url.lastPathComponent
// let isDirectory = url.hasDirectoryPath
//
// let item = Item(
// url: url,
// name: name,
// size: size,
// isDirectory: isDirectory
// )
//
// items.append(item)
// }
//
// return items
// }
//}
enum Arch {
@@ -18,7 +18,6 @@ class ReversePathsSearcher {
private var fileSize: [URL: Int64] = [:]
private var fileSizeLogical: [URL: Int64] = [:]
private var fileIcon: [URL: NSImage?] = [:]
private var isDirectory: [URL: Bool] = [:]
private let dispatchGroup = DispatchGroup()
private let sortedApps: [AppInfo]
@@ -113,7 +112,6 @@ class ReversePathsSearcher {
fileSize[path] = size.real
fileSizeLogical[path] = size.logical
fileIcon[path] = getIconForFileOrFolderNS(atPath: path)
isDirectory[path] = path.hasDirectoryPath
}
}
@@ -123,7 +121,6 @@ class ReversePathsSearcher {
updatedZombieFile.fileSize = self.fileSize
updatedZombieFile.fileSizeLogical = self.fileSizeLogical
updatedZombieFile.fileIcon = self.fileIcon
updatedZombieFile.isDirectory = self.isDirectory
self.appState.zombieFile = updatedZombieFile
self.appState.showProgress = false
}