Skip to content
This repository was archived by the owner on Sep 1, 2019. It is now read-only.

Commit 106e2f5

Browse files
committed
Further improvements to removing files in ".Trash/" from visualizations
Added a category for trash in the Types screen, and removed Types from visualizations. Also added scrolling for the FilesCollectionViewLayout.
1 parent 1252ad9 commit 106e2f5

File tree

4 files changed

+51
-39
lines changed

4 files changed

+51
-39
lines changed

LocalStorage/Local Storage/AppDelegate.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,7 @@ struct LocalizedTypeNames {
207207
static var code = NSLocalizedString("type-code", value: "Code", comment: "Name of type")
208208
static var archives = NSLocalizedString("type-archives", value: "Archives", comment: "Name of type")
209209
static var other = NSLocalizedString("type-other", value: "Other", comment: "Name of type")
210+
static var trash = NSLocalizedString("type-trash", value: "Trash", comment: "Name of type")
210211
}
211212

212213

@@ -229,7 +230,8 @@ struct AppState {
229230
TypeInfo(name: LocalizedTypeNames.images, color: UIColor(named: "ColorTypeImages")!, size: 0, number: 0, paths: [], sizes: []),
230231
TypeInfo(name: LocalizedTypeNames.code, color: UIColor(named: "ColorTypeCode")!, size: 0, number: 0, paths: [], sizes: []),
231232
TypeInfo(name: LocalizedTypeNames.archives, color: UIColor(named: "ColorTypeArchives")!, size: 0, number: 0, paths: [], sizes: []),
232-
TypeInfo(name: LocalizedTypeNames.other, color: UIColor(named: "ColorTypeOther")!, size: 0, number: 0, paths: [], sizes: [])
233+
TypeInfo(name: LocalizedTypeNames.other, color: UIColor(named: "ColorTypeOther")!, size: 0, number: 0, paths: [], sizes: []),
234+
TypeInfo(name: LocalizedTypeNames.trash, color: UIColor.magenta, size: 0, number: 0, paths: [], sizes: [])
233235
]
234236

235237
struct files {

LocalStorage/Local Storage/Common.swift

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,9 @@ func resetStats() {
229229
TypeInfo(name: LocalizedTypeNames.images, color: UIColor(named: "ColorTypeImages")!, size: 0, number: 0, paths: [], sizes: []),
230230
TypeInfo(name: LocalizedTypeNames.code, color: UIColor(named: "ColorTypeCode")!, size: 0, number: 0, paths: [], sizes: []),
231231
TypeInfo(name: LocalizedTypeNames.archives, color: UIColor(named: "ColorTypeArchives")!, size: 0, number: 0, paths: [], sizes: []),
232-
TypeInfo(name: LocalizedTypeNames.other, color: UIColor(named: "ColorTypeOther")!, size: 0, number: 0, paths: [], sizes: [])]
232+
TypeInfo(name: LocalizedTypeNames.other, color: UIColor(named: "ColorTypeOther")!, size: 0, number: 0, paths: [], sizes: []),
233+
TypeInfo(name: LocalizedTypeNames.trash, color: UIColor.magenta, size: 0, number: 0, paths: [], sizes: [])
234+
]
233235

234236
AppState.files.allValues = []
235237
AppState.files.fileInfos = []
@@ -254,17 +256,22 @@ func addToType(name: String, size: Int64, path: String) {
254256
let documentsPathEndIndex = path.index(AppState.documentsPath.endIndex, offsetBy: 1)
255257
let filePath = String(path[documentsPathEndIndex...])
256258

257-
if filePath.name.range(of: ".Trash/") {
259+
if !filePath.contains(".Trash/") {
258260
AppState.types[n].size += size
259261
AppState.types[n].number += 1
260262
AppState.types[n].paths.append(filePath)
261263
AppState.types[n].sizes.append(size)
262-
264+
263265
AppState.files.allValues.append(Double(size))
264266
AppState.files.fileInfos.append(FileInfo(name: filePath, type: type_info.name))
265-
266-
break
267+
} else {
268+
AppState.types[n].size += size
269+
AppState.types[n].number += 1
270+
AppState.types[n].paths.append(filePath)
271+
AppState.types[n].sizes.append(size)
267272
}
273+
274+
break
268275
}
269276
}
270277
}
@@ -370,7 +377,9 @@ func getStats() {
370377
}
371378

372379
if let fileType: String = elementURL.typeIdentifier {
373-
if UtiLookup.audio.contains(fileType) {
380+
if elementURL.absoluteString.contains(".Trash/") {
381+
addToType(name: LocalizedTypeNames.trash, size: fileSize, path: elementURL.path)
382+
} else if UtiLookup.audio.contains(fileType) {
374383
addToType(name: LocalizedTypeNames.audio, size: fileSize, path: elementURL.path)
375384
} else if UtiLookup.videos.contains(fileType) {
376385
addToType(name: LocalizedTypeNames.videos, size: fileSize, path: elementURL.path)
@@ -384,7 +393,7 @@ func getStats() {
384393
addToType(name: LocalizedTypeNames.archives, size: fileSize, path: elementURL.path)
385394
} else if UtiLookup.other.contains(fileType) {
386395
addToType(name: LocalizedTypeNames.other, size: fileSize, path: elementURL.path)
387-
} else {
396+
} else {
388397
if fileType.starts(with: "dyn.") {
389398
// No UTI available for this file, use extension based lookup. Less stable but whatever.
390399

@@ -402,7 +411,7 @@ func getStats() {
402411
addToType(name: LocalizedTypeNames.code, size: fileSize, path: elementURL.path)
403412
} else if FileExtensionLookup.archives.contains(fileExtension) {
404413
addToType(name: LocalizedTypeNames.archives, size: fileSize, path: elementURL.path)
405-
} else {
414+
} else if elementURL.absoluteString.contains(".Trash/") {
406415
addToType(name: LocalizedTypeNames.other, size: fileSize, path: elementURL.path)
407416
}
408417
} else {

0 commit comments

Comments
 (0)