Skip to main content

remove some old code

ID
9a54a45
date
2023-06-10 08:06:33+00:00
author
Alex Chan <alex@alexwlchan.net>
parent
af7cab6
message
remove some old code
changed files
5 files, 1 addition, 218 deletions

Changed files

BlinkReviewer/BlinkReviewer.xcodeproj/project.pbxproj (33888) → BlinkReviewer/BlinkReviewer.xcodeproj/project.pbxproj (32538)

diff --git a/BlinkReviewer/BlinkReviewer.xcodeproj/project.pbxproj b/BlinkReviewer/BlinkReviewer.xcodeproj/project.pbxproj
index 27abb60..4dedd7d 100644
--- a/BlinkReviewer/BlinkReviewer.xcodeproj/project.pbxproj
+++ b/BlinkReviewer/BlinkReviewer.xcodeproj/project.pbxproj
@@ -30,12 +30,9 @@
 		94D751022A31A798005859E7 /* BlinkReviewerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94D751012A31A798005859E7 /* BlinkReviewerTests.swift */; };
 		94D7510C2A31A798005859E7 /* BlinkReviewerUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94D7510B2A31A798005859E7 /* BlinkReviewerUITests.swift */; };
 		94D7510E2A31A798005859E7 /* BlinkReviewerUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94D7510D2A31A798005859E7 /* BlinkReviewerUITestsLaunchTests.swift */; };
-		94D7511C2A31A7B1005859E7 /* ThumbnailImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94D7511B2A31A7B1005859E7 /* ThumbnailImage.swift */; };
-		94D7511E2A31B243005859E7 /* FullSizeImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94D7511D2A31B243005859E7 /* FullSizeImage.swift */; };
 		94D751202A31B53E005859E7 /* AlbumInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94D7511F2A31B53E005859E7 /* AlbumInfo.swift */; };
 		94D751222A31BD8E005859E7 /* PhotoReviewer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94D751212A31BD8E005859E7 /* PhotoReviewer.swift */; };
 		94D7512B2A31D6AC005859E7 /* AssetHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94D7512A2A31D6AC005859E7 /* AssetHelpers.swift */; };
-		94D751302A31DC4A005859E7 /* ThumbnailList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94D7512F2A31DC4A005859E7 /* ThumbnailList.swift */; };
 		94F7E39E2A331A9E00763DB9 /* Statistics.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94F7E39D2A331A9E00763DB9 /* Statistics.swift */; };
 /* End PBXBuildFile section */
 
@@ -84,12 +81,9 @@
 		94D751072A31A798005859E7 /* BlinkReviewerUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = BlinkReviewerUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 		94D7510B2A31A798005859E7 /* BlinkReviewerUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlinkReviewerUITests.swift; sourceTree = "<group>"; };
 		94D7510D2A31A798005859E7 /* BlinkReviewerUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlinkReviewerUITestsLaunchTests.swift; sourceTree = "<group>"; };
-		94D7511B2A31A7B1005859E7 /* ThumbnailImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThumbnailImage.swift; sourceTree = "<group>"; };
-		94D7511D2A31B243005859E7 /* FullSizeImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FullSizeImage.swift; sourceTree = "<group>"; };
 		94D7511F2A31B53E005859E7 /* AlbumInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlbumInfo.swift; sourceTree = "<group>"; };
 		94D751212A31BD8E005859E7 /* PhotoReviewer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotoReviewer.swift; sourceTree = "<group>"; };
 		94D7512A2A31D6AC005859E7 /* AssetHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AssetHelpers.swift; sourceTree = "<group>"; };
-		94D7512F2A31DC4A005859E7 /* ThumbnailList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThumbnailList.swift; sourceTree = "<group>"; };
 		94F7E39D2A331A9E00763DB9 /* Statistics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Statistics.swift; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
@@ -234,11 +228,8 @@
 				94A0835F2A33E7E900238964 /* FocusedImage */,
 				945F17AE2A33D15D004FC479 /* Thumbnails */,
 				940331742A336BEB00200C5D /* Helpers */,
-				94D7511B2A31A7B1005859E7 /* ThumbnailImage.swift */,
-				94D7511D2A31B243005859E7 /* FullSizeImage.swift */,
 				94D7511F2A31B53E005859E7 /* AlbumInfo.swift */,
 				94D751212A31BD8E005859E7 /* PhotoReviewer.swift */,
-				94D7512F2A31DC4A005859E7 /* ThumbnailList.swift */,
 				94D2C8C02A32FCE300BEE15B /* PHAssetImage.swift */,
 			);
 			path = Views;
@@ -384,7 +375,6 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				94D7511C2A31A7B1005859E7 /* ThumbnailImage.swift in Sources */,
 				94D7512B2A31D6AC005859E7 /* AssetHelpers.swift in Sources */,
 				94D2C8BD2A32796500BEE15B /* AlbumHelpers.swift in Sources */,
 				945F17B02A33D167004FC479 /* NewThumbnailImage.swift in Sources */,
@@ -394,7 +384,6 @@
 				94A083632A33F30300238964 /* LoadingIndicatorOverlay.swift in Sources */,
 				945F17B42A33D726004FC479 /* ReviewStateIcon.swift in Sources */,
 				945F17B62A33D7AA004FC479 /* ReviewStateBorder.swift in Sources */,
-				94D7511E2A31B243005859E7 /* FullSizeImage.swift in Sources */,
 				94A083612A33E98000238964 /* AlbumInfoOverlay.swift in Sources */,
 				94C5FFF22A33ADD4004ADDF5 /* PHFetchResultCollection.swift in Sources */,
 				94A083662A33F50900238964 /* Debug.swift in Sources */,
@@ -403,7 +392,6 @@
 				940331732A336B5100200C5D /* DeferredRendering.swift in Sources */,
 				94D751202A31B53E005859E7 /* AlbumInfo.swift in Sources */,
 				94A0835E2A33E49E00238964 /* FocusedImage.swift in Sources */,
-				94D751302A31DC4A005859E7 /* ThumbnailList.swift in Sources */,
 				945F17B82A33DAC7004FC479 /* ReviewStateSaturation.swift in Sources */,
 				94D751222A31BD8E005859E7 /* PhotoReviewer.swift in Sources */,
 				94D2C8B92A320E6F00BEE15B /* ReviewState.swift in Sources */,

BlinkReviewer/BlinkReviewer/Views/FullSizeImage.swift (2660) → BlinkReviewer/BlinkReviewer/Views/FullSizeImage.swift (0)

diff --git a/BlinkReviewer/BlinkReviewer/Views/FullSizeImage.swift b/BlinkReviewer/BlinkReviewer/Views/FullSizeImage.swift
deleted file mode 100644
index 2570993..0000000
--- a/BlinkReviewer/BlinkReviewer/Views/FullSizeImage.swift
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-//  PreviewImage.swift
-//  BlinkReviewer
-//
-//  Created by Alex Chan on 08/06/2023.
-//
-
-import Photos
-import SwiftUI
-
-struct FullSizeImage: View {
-    @ObservedObject var image: PHAssetImage
-    
-    var body: some View {
-        ZStack {
-            VStack {
-                HStack {
-                    Spacer()
-                        
-                    Image(nsImage: self.image.image)
-                        .resizable()
-                        .aspectRatio(contentMode: .fit)
-                        .overlay(alignment: Alignment(horizontal: .center, vertical: .top)) {
-                            if let asset = image.asset {
-                                AlbumInfo(asset)
-                            }
-                        }
-                        .overlay(alignment: Alignment(horizontal: .trailing, vertical: .bottom)) {
-                            
-                            // Render a progress indicator if we're waiting for a higher-resolution
-                            // image to load; see the comment on `PHAssetImage`.
-                            //
-                            // `ProgressView` does have a `tint` modifier, but that doesn't seem to
-                            // work on macOS 13 -- this uses some code from a Stack Overflow answer
-                            // by aheze: https://stackoverflow.com/a/66568704/1558022
-                            if (self.image.isDegraded) {
-                                ProgressView()
-                                    .colorInvert()
-                                    .brightness(1)
-                                    .padding()
-                                    .deferredRendering(
-                                        // Note: even if the image is already cached locally, the
-                                        // image caching manager typically sends two images: a low-res
-                                        // version comes immediately, then a higher-res version within
-                                        // a second or two.  This causes the progress indicator to
-                                        // "flash" -- it appears then almost instantly disappears.
-                                        //
-                                        // Deferring the rendering by a second avoids this "flash".
-                                        for: .seconds(1)
-                                    )
-                            }
-                            
-                        }
-                        
-                    Spacer()
-                }
-                
-                Spacer()
-            }.padding()
-        }
-    }
-}

BlinkReviewer/BlinkReviewer/Views/ThumbnailImage.swift (2624) → BlinkReviewer/BlinkReviewer/Views/ThumbnailImage.swift (0)

diff --git a/BlinkReviewer/BlinkReviewer/Views/ThumbnailImage.swift b/BlinkReviewer/BlinkReviewer/Views/ThumbnailImage.swift
deleted file mode 100644
index e7ecf95..0000000
--- a/BlinkReviewer/BlinkReviewer/Views/ThumbnailImage.swift
+++ /dev/null
@@ -1,75 +0,0 @@
-//
-//  ThumbnailItem.swift
-//  BlinkReviewer
-//
-//  Created by Alex Chan on 08/06/2023.
-//
-
-import SwiftUI
-import Photos
-
-/// Renders a square thumbnail for an image.
-///
-/// The image will be expanded to fill the square, and may be clipped
-/// if the original aspect ratio isn't square.
-struct ThumbnailImage: View {
-    @ObservedObject var thumbnail: PHAssetImage
-    var state: ReviewState?
-    var isFavorite: Bool
-    var isSelected: Bool
-    
-    var size: CGFloat {
-        isSelected ? 70.0 : 50.0
-    }
-    
-    var cornerRadius: CGFloat {
-        return isSelected ? 7.0 : 5.0
-    }
-    
-    var body: some View {
-        VStack {
-            Image(nsImage: thumbnail.image)
-                .resizable()
-                .saturation(state == .Rejected ? 0.0 : 1.0)
-                // Note: it's taken several attempts to get this working correctly;
-                // it behaves differently in the running app to the SwiftUI preview.
-                //
-                // Expected properties:
-                //
-                //    - Thumbnails are square
-                //    - Thumbnails are expanded to fill the square, but they prefer
-                //      to crop rather than stretch the image
-                //
-                .scaledToFill()
-                .frame(width: size, height: size, alignment: .center)
-                .clipped()
-                .overlay(
-                    // https://www.appcoda.com/swiftui-border/
-                    RoundedRectangle(cornerRadius: cornerRadius)
-                        .stroke(
-                            state?.color() ?? .gray.opacity(0.7),
-                            lineWidth: state != nil ? 3.0 : 1.0
-                        )
-                )
-                .cornerRadius(cornerRadius)
-                .overlay(alignment: Alignment(horizontal: .leading, vertical: .bottom)) {
-                    if (isFavorite) {
-                        Image(systemName: "heart.fill")
-                            .foregroundColor(.white)
-                            .padding(2)
-                            .shadow(radius: 2.0)
-                    }
-                }
-                .overlay(alignment: Alignment(horizontal: .leading, vertical: .top)) {
-                    if let thisState = state {
-                        thisState.icon()
-                            .foregroundStyle(.white, thisState.color())
-                            .symbolRenderingMode(.palette)
-                            .padding(2)
-                            .font(.title2)
-                            .shadow(radius: 2.0)
-                    }
-            }
-        }
-    }
-}

BlinkReviewer/BlinkReviewer/Views/ThumbnailList.swift (3015) → BlinkReviewer/BlinkReviewer/Views/ThumbnailList.swift (0)

diff --git a/BlinkReviewer/BlinkReviewer/Views/ThumbnailList.swift b/BlinkReviewer/BlinkReviewer/Views/ThumbnailList.swift
deleted file mode 100644
index e56d6d0..0000000
--- a/BlinkReviewer/BlinkReviewer/Views/ThumbnailList.swift
+++ /dev/null
@@ -1,68 +0,0 @@
-//
-//  ThumbnailList.swift
-//  BlinkReviewer
-//
-//  Created by Alex Chan on 08/06/2023.
-//
-
-import SwiftUI
-import Photos
-
-
-struct ThumbnailList: View {
-    @EnvironmentObject var photosLibrary: PhotosLibrary
-
-    @Binding var selectedAssetIndex: Int
-    
-    private var assets: PHFetchResultCollection {
-        return PHFetchResultCollection(photosLibrary.assets2)
-    }
-    
-    var body: some View {
-        ScrollViewReader { proxy in
-            ScrollView(.horizontal) {
-                LazyHStack(spacing: 5) {
-                    // TODO: placeholder images for start/end
-                    
-                    // Implementation note: we use the localIdentifier rather than the
-                    // array index as the id here, because the app gets way slower if
-                    // you use the array index -- it tries to regenerate a bunch of
-                    // the thumbnails every time you change position.
-                    
-                    // wassup with reversing???? lazy loading innit
-                    ForEach(Array(zip(assets.indices, assets)), id: \.1.localIdentifier) { index, asset in
-                        //                Text("asset \(index)")
-                        ThumbnailImage(
-                            thumbnail: PHAssetImage(asset, size: CGSize(width: 70, height: 70), deliveryMode: .opportunistic),
-                            state: photosLibrary.state(of: asset),
-                            isFavorite: asset.isFavorite,
-                            isSelected: photosLibrary.assets2.count - 1 - index == selectedAssetIndex
-                        ).onTapGesture {
-                            selectedAssetIndex = photosLibrary.assets2.count - 1 - index
-                        }
-                    }
-                    
-                    // Note: these two uses of RTL direction are a way to get the LazyHStack
-                    // to start on the right-hand side (i.e. the newest image) without loading
-                    // everything else in the view.
-                    //
-                    // I suspect this may get easier with the new scrollPosition API, coming
-                    // in the 2023 OS releases.  TODO: Investigate this new API when available.
-                    //
-                    // See https://developer.apple.com/documentation/swiftui/view/scrollposition(initialanchor:)
-                    .flipsForRightToLeftLayoutDirection(true)
-                    .environment(\.layoutDirection, .rightToLeft)
-                }.padding()
-            }
-            .frame(height: 90)
-            .flipsForRightToLeftLayoutDirection(true)
-            .environment(\.layoutDirection, .rightToLeft)
-            .onChange(of: selectedAssetIndex, perform: { newIndex in
-                // fires on change + initial run
-                withAnimation {
-                    proxy.scrollTo(assets[photosLibrary.assets2.count - 1 - selectedAssetIndex].localIdentifier, anchor: .center)
-                }
-            })
-        }
-    }
-}

BlinkReviewer/BlinkReviewer/Views/Thumbnails/NewThumbnailImage.swift (1932) → BlinkReviewer/BlinkReviewer/Views/Thumbnails/NewThumbnailImage.swift (1956)

diff --git a/BlinkReviewer/BlinkReviewer/Views/Thumbnails/NewThumbnailImage.swift b/BlinkReviewer/BlinkReviewer/Views/Thumbnails/NewThumbnailImage.swift
index 6b3f7a8..47d51f8 100644
--- a/BlinkReviewer/BlinkReviewer/Views/Thumbnails/NewThumbnailImage.swift
+++ b/BlinkReviewer/BlinkReviewer/Views/Thumbnails/NewThumbnailImage.swift
@@ -24,7 +24,7 @@ struct NewThumbnailImage: View {
     // `body` method, which is too late!  So instead we have the parent
     // view call into PhotosLibrary and pass in the relevant values here.
     init(_ assetImage: PHAssetImage, state: ReviewState?, isFavorite: Bool, isFocused: Bool) {
-        print("Redrawing thumbnail image! \(assetImage.asset?.localIdentifier ?? "(unknown)")")
+        print("Redrawing thumbnail image! \(assetImage.asset?.localIdentifier ?? "(unknown)") @ \(DispatchTime.now())")
         
         self.assetImage = assetImage
         self.state = state