keep tidying
- ID
58a8d78- date
2023-06-10 00:07:24+00:00- author
Alex Chan <alex@alexwlchan.net>- parent
9926d6d- message
keep tidying- changed files
5 files, 57 additions, 9 deletions
Changed files
BlinkReviewer/BlinkReviewer.xcodeproj/project.pbxproj (32850) → BlinkReviewer/BlinkReviewer.xcodeproj/project.pbxproj (33422)
diff --git a/BlinkReviewer/BlinkReviewer.xcodeproj/project.pbxproj b/BlinkReviewer/BlinkReviewer.xcodeproj/project.pbxproj
index d4f2b95..ed69660 100644
--- a/BlinkReviewer/BlinkReviewer.xcodeproj/project.pbxproj
+++ b/BlinkReviewer/BlinkReviewer.xcodeproj/project.pbxproj
@@ -16,6 +16,7 @@
94A0835E2A33E49E00238964 /* FocusedImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94A0835D2A33E49E00238964 /* FocusedImage.swift */; };
94A083612A33E98000238964 /* AlbumInfoOverlay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94A083602A33E98000238964 /* AlbumInfoOverlay.swift */; };
94A083632A33F30300238964 /* LoadingIndicatorOverlay.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94A083622A33F30300238964 /* LoadingIndicatorOverlay.swift */; };
+ 94A083662A33F50900238964 /* Debug.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94A083652A33F50900238964 /* Debug.swift */; };
94C5FFF22A33ADD4004ADDF5 /* PHFetchResultCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94C5FFF12A33ADD4004ADDF5 /* PHFetchResultCollection.swift */; };
94C5FFF62A33B698004ADDF5 /* PHAssetHStack.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94C5FFF52A33B698004ADDF5 /* PHAssetHStack.swift */; };
94D2C8B92A320E6F00BEE15B /* ReviewState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94D2C8B82A320E6F00BEE15B /* ReviewState.swift */; };
@@ -64,6 +65,7 @@
94A0835D2A33E49E00238964 /* FocusedImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FocusedImage.swift; sourceTree = "<group>"; };
94A083602A33E98000238964 /* AlbumInfoOverlay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AlbumInfoOverlay.swift; sourceTree = "<group>"; };
94A083622A33F30300238964 /* LoadingIndicatorOverlay.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingIndicatorOverlay.swift; sourceTree = "<group>"; };
+ 94A083652A33F50900238964 /* Debug.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Debug.swift; sourceTree = "<group>"; };
94C5FFF12A33ADD4004ADDF5 /* PHFetchResultCollection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PHFetchResultCollection.swift; sourceTree = "<group>"; };
94C5FFF52A33B698004ADDF5 /* PHAssetHStack.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PHAssetHStack.swift; sourceTree = "<group>"; };
94D2C8B82A320E6F00BEE15B /* ReviewState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ReviewState.swift; sourceTree = "<group>"; };
@@ -146,6 +148,15 @@
path = FocusedImage;
sourceTree = "<group>";
};
+ 94A083642A33F48E00238964 /* Info */ = {
+ isa = PBXGroup;
+ children = (
+ 94F7E39D2A331A9E00763DB9 /* Statistics.swift */,
+ 94A083652A33F50900238964 /* Debug.swift */,
+ );
+ path = Info;
+ sourceTree = "<group>";
+ };
94D2C8B72A320E6600BEE15B /* Model */ = {
isa = PBXGroup;
children = (
@@ -216,6 +227,7 @@
94D7511A2A31A7A6005859E7 /* Views */ = {
isa = PBXGroup;
children = (
+ 94A083642A33F48E00238964 /* Info */,
94A0835F2A33E7E900238964 /* FocusedImage */,
945F17AE2A33D15D004FC479 /* Thumbnails */,
940331742A336BEB00200C5D /* Helpers */,
@@ -225,7 +237,6 @@
94D751212A31BD8E005859E7 /* PhotoReviewer.swift */,
94D7512F2A31DC4A005859E7 /* ThumbnailList.swift */,
94D2C8C02A32FCE300BEE15B /* PHAssetImage.swift */,
- 94F7E39D2A331A9E00763DB9 /* Statistics.swift */,
);
path = Views;
sourceTree = "<group>";
@@ -383,6 +394,7 @@
94D7511E2A31B243005859E7 /* FullSizeImage.swift in Sources */,
94A083612A33E98000238964 /* AlbumInfoOverlay.swift in Sources */,
94C5FFF22A33ADD4004ADDF5 /* PHFetchResultCollection.swift in Sources */,
+ 94A083662A33F50900238964 /* Debug.swift in Sources */,
94D750F02A31A796005859E7 /* BlinkReviewerApp.swift in Sources */,
940331732A336B5100200C5D /* DeferredRendering.swift in Sources */,
94D751202A31B53E005859E7 /* AlbumInfo.swift in Sources */,
BlinkReviewer/BlinkReviewer/Views/Info/Debug.swift (0) → BlinkReviewer/BlinkReviewer/Views/Info/Debug.swift (406)
diff --git a/BlinkReviewer/BlinkReviewer/Views/Info/Debug.swift b/BlinkReviewer/BlinkReviewer/Views/Info/Debug.swift
new file mode 100644
index 0000000..1787aca
--- /dev/null
+++ b/BlinkReviewer/BlinkReviewer/Views/Info/Debug.swift
@@ -0,0 +1,17 @@
+import SwiftUI
+import Photos
+
+/// Show some debug information; the asset identifier.
+struct Debug: View {
+ var asset: PHAsset
+
+ var body: some View {
+ Text("\(asset.localIdentifier)")
+ .font(.title)
+ .padding(10)
+ .foregroundColor(.white)
+ .background(.black.opacity(0.7))
+ .cornerRadius(7.0)
+ .shadow(radius: 2.0)
+ }
+}
BlinkReviewer/BlinkReviewer/Views/Statistics.swift (627) → BlinkReviewer/BlinkReviewer/Views/Info/Statistics.swift (691)
diff --git a/BlinkReviewer/BlinkReviewer/Views/Statistics.swift b/BlinkReviewer/BlinkReviewer/Views/Info/Statistics.swift
similarity index 75%
rename from BlinkReviewer/BlinkReviewer/Views/Statistics.swift
rename to BlinkReviewer/BlinkReviewer/Views/Info/Statistics.swift
index 7376d80..417542f 100644
--- a/BlinkReviewer/BlinkReviewer/Views/Statistics.swift
+++ b/BlinkReviewer/BlinkReviewer/Views/Info/Statistics.swift
@@ -1,12 +1,9 @@
-//
-// Statistics.swift
-// BlinkReviewer
-//
-// Created by Alex Chan on 09/06/2023.
-//
-
import SwiftUI
+/// Show a couple of stats about how much reviewing has been done, e.g.
+///
+/// 15,279 photos, 9,158 approved, 17 rejected, 181 need action
+///
struct Statistics: View {
@EnvironmentObject var photosLibrary: PhotosLibrary
BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift (9664) → BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift (10393)
diff --git a/BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift b/BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift
index 02e4bc4..cc997f9 100644
--- a/BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift
+++ b/BlinkReviewer/BlinkReviewer/Views/PhotoReviewer.swift
@@ -46,6 +46,22 @@ struct PhotoReviewer: View {
Spacer()
}
+
+ HStack {
+ Spacer()
+
+ VStack {
+ Spacer()
+
+ if showDebug {
+ Debug(asset: focusedAsset)
+ }
+
+ if showStatistics {
+ Statistics().environmentObject(photosLibrary)
+ }
+ }.padding()
+ }.padding()
}
.onAppear {
NSEvent.addLocalMonitorForEvents(matching: .keyDown) { event in
@@ -133,6 +149,12 @@ struct PhotoReviewer: View {
PHAssetChangeRequest(for: focusedAsset).isFavorite = !focusedAsset.isFavorite
}
+ case let e where e.characters == "d":
+ showDebug.toggle()
+
+ case let e where e.characters == "s":
+ showStatistics.toggle()
+
default:
logger.info("Received unhandled keyboard event: \(event, privacy: .public)")
break
BlinkReviewer/BlinkReviewer/Views/Thumbnails/ReviewStateBorder.swift (1049) → BlinkReviewer/BlinkReviewer/Views/Thumbnails/ReviewStateBorder.swift (1061)
diff --git a/BlinkReviewer/BlinkReviewer/Views/Thumbnails/ReviewStateBorder.swift b/BlinkReviewer/BlinkReviewer/Views/Thumbnails/ReviewStateBorder.swift
index a65d4fc..80c7300 100644
--- a/BlinkReviewer/BlinkReviewer/Views/Thumbnails/ReviewStateBorder.swift
+++ b/BlinkReviewer/BlinkReviewer/Views/Thumbnails/ReviewStateBorder.swift
@@ -21,7 +21,7 @@ struct ReviewStateBorder: ViewModifier {
RoundedRectangle(cornerRadius: cornerRadius)
.stroke(
state?.color() ?? .gray.opacity(0.7),
- lineWidth: state != nil ? 3.0 : 1.0
+ lineWidth: state != nil ? 3.0 : 3.0 * 5.0 / 7.0
)
}
}