diff options
15 files changed, 110 insertions, 2 deletions
diff --git a/Hotline/Assets.xcassets/Admin Drop Box.imageset/Admin Drop Box.png b/Hotline/Assets.xcassets/Admin Drop Box.imageset/Admin Drop Box.png Binary files differnew file mode 100644 index 0000000..5d4bdb8 --- /dev/null +++ b/Hotline/Assets.xcassets/Admin Drop Box.imageset/Admin Drop Box.png diff --git a/Hotline/Assets.xcassets/Admin Drop Box.imageset/Admin Drop Box@2x.png b/Hotline/Assets.xcassets/Admin Drop Box.imageset/Admin Drop Box@2x.png Binary files differnew file mode 100644 index 0000000..1ecf037 --- /dev/null +++ b/Hotline/Assets.xcassets/Admin Drop Box.imageset/Admin Drop Box@2x.png diff --git a/Hotline/Assets.xcassets/Admin Drop Box.imageset/Admin Drop Box@3x.png b/Hotline/Assets.xcassets/Admin Drop Box.imageset/Admin Drop Box@3x.png Binary files differnew file mode 100644 index 0000000..c0cf6ce --- /dev/null +++ b/Hotline/Assets.xcassets/Admin Drop Box.imageset/Admin Drop Box@3x.png diff --git a/Hotline/Assets.xcassets/Admin Drop Box.imageset/Contents.json b/Hotline/Assets.xcassets/Admin Drop Box.imageset/Contents.json new file mode 100644 index 0000000..d8d0982 --- /dev/null +++ b/Hotline/Assets.xcassets/Admin Drop Box.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "Admin Drop Box.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Admin Drop Box@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "Admin Drop Box@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Hotline/Assets.xcassets/Drop Box.imageset/Contents.json b/Hotline/Assets.xcassets/Drop Box.imageset/Contents.json new file mode 100644 index 0000000..02e78f1 --- /dev/null +++ b/Hotline/Assets.xcassets/Drop Box.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "Drop Box.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Drop Box@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "Drop Box@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Hotline/Assets.xcassets/Drop Box.imageset/Drop Box.png b/Hotline/Assets.xcassets/Drop Box.imageset/Drop Box.png Binary files differnew file mode 100644 index 0000000..be8b501 --- /dev/null +++ b/Hotline/Assets.xcassets/Drop Box.imageset/Drop Box.png diff --git a/Hotline/Assets.xcassets/Drop Box.imageset/Drop Box@2x.png b/Hotline/Assets.xcassets/Drop Box.imageset/Drop Box@2x.png Binary files differnew file mode 100644 index 0000000..0249b96 --- /dev/null +++ b/Hotline/Assets.xcassets/Drop Box.imageset/Drop Box@2x.png diff --git a/Hotline/Assets.xcassets/Drop Box.imageset/Drop Box@3x.png b/Hotline/Assets.xcassets/Drop Box.imageset/Drop Box@3x.png Binary files differnew file mode 100644 index 0000000..4d5bad2 --- /dev/null +++ b/Hotline/Assets.xcassets/Drop Box.imageset/Drop Box@3x.png diff --git a/Hotline/Assets.xcassets/Folder.imageset/Contents.json b/Hotline/Assets.xcassets/Folder.imageset/Contents.json new file mode 100644 index 0000000..e076add --- /dev/null +++ b/Hotline/Assets.xcassets/Folder.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "Folder.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Folder@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "Folder@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Hotline/Assets.xcassets/Folder.imageset/Folder.png b/Hotline/Assets.xcassets/Folder.imageset/Folder.png Binary files differnew file mode 100644 index 0000000..e9909ab --- /dev/null +++ b/Hotline/Assets.xcassets/Folder.imageset/Folder.png diff --git a/Hotline/Assets.xcassets/Folder.imageset/Folder@2x.png b/Hotline/Assets.xcassets/Folder.imageset/Folder@2x.png Binary files differnew file mode 100644 index 0000000..860ca3b --- /dev/null +++ b/Hotline/Assets.xcassets/Folder.imageset/Folder@2x.png diff --git a/Hotline/Assets.xcassets/Folder.imageset/Folder@3x.png b/Hotline/Assets.xcassets/Folder.imageset/Folder@3x.png Binary files differnew file mode 100644 index 0000000..9e7634b --- /dev/null +++ b/Hotline/Assets.xcassets/Folder.imageset/Folder@3x.png diff --git a/Hotline/Hotline/HotlineProtocol.swift b/Hotline/Hotline/HotlineProtocol.swift index 1f9ff3e..55ac0a3 100644 --- a/Hotline/Hotline/HotlineProtocol.swift +++ b/Hotline/Hotline/HotlineProtocol.swift @@ -336,6 +336,14 @@ class HotlineFile: Identifiable, Hashable { let isFolder: Bool + var isDropboxFolder: Bool { + guard self.isFolder, + (self.name.range(of: "upload", options: [.caseInsensitive]) != nil) || (self.name.range(of: "drop box", options: [.caseInsensitive]) != nil) else { + return false + } + return true + } + static func == (lhs: HotlineFile, rhs: HotlineFile) -> Bool { return lhs.id == rhs.id } diff --git a/Hotline/Models/FileInfo.swift b/Hotline/Models/FileInfo.swift index b8d3d12..463f0be 100644 --- a/Hotline/Models/FileInfo.swift +++ b/Hotline/Models/FileInfo.swift @@ -13,6 +13,21 @@ import UniformTypeIdentifiers let isFolder: Bool let isUnavailable: Bool + + var isDropboxFolder: Bool { + guard self.isFolder, + (self.name.range(of: "upload", options: [.caseInsensitive]) != nil) || (self.name.range(of: "drop box", options: [.caseInsensitive]) != nil) + else { + return false + } + return true + } + + var isAdminDropboxFolder: Bool { + self.isDropboxFolder && (self.name.range(of: "admin", options: [.caseInsensitive]) != nil) + } + + var expanded: Bool = false var children: [FileInfo]? = nil diff --git a/Hotline/macOS/FilesView.swift b/Hotline/macOS/FilesView.swift index 77db291..9624563 100644 --- a/Hotline/macOS/FilesView.swift +++ b/Hotline/macOS/FilesView.swift @@ -41,9 +41,25 @@ struct FileView: View { .frame(width: 16, height: 16) .opacity(0.5) } + else if file.isAdminDropboxFolder { + Image("Admin Drop Box") + .resizable() + .scaledToFit() + .frame(width: 16, height: 16) + } + else if file.isDropboxFolder { + Image("Drop Box") + .resizable() + .scaledToFit() + .frame(width: 16, height: 16) + } else if file.isFolder { - FolderIconView() + Image("Folder") + .resizable() + .scaledToFit() .frame(width: 16, height: 16) +// FolderIconView(dropbox: file.isUploadFolder) +// .frame(width: 16, height: 16) } else { FileIconView(filename: file.name) @@ -64,7 +80,7 @@ struct FileView: View { Spacer() if !file.isUnavailable { if file.isFolder { - Text("^[\(file.fileSize) \("file")](inflect: true)") + Text(file.fileSize == 0 ? "Empty" : "^[\(file.fileSize) \("file")](inflect: true)") .foregroundStyle(.secondary) .lineLimit(1) .padding(.trailing, 6) |