Skip to content

Commit

Permalink
Merge pull request #75 from superhighfives/0.0.13
Browse files Browse the repository at this point in the history
0.0.13
  • Loading branch information
superhighfives committed Sep 6, 2022
2 parents 4bb13c6 + 8758158 commit 086f901
Show file tree
Hide file tree
Showing 32 changed files with 941 additions and 373 deletions.
32 changes: 26 additions & 6 deletions Pika.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,16 @@
221600F925A62E5B00B8B7D9 /* IconImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 221600F825A62E5B00B8B7D9 /* IconImage.swift */; };
221600FD25A636D600B8B7D9 /* ConditionalModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 221600FC25A636D600B8B7D9 /* ConditionalModifier.swift */; };
226FD61025A940F90021A67F /* VisualEffect.swift in Sources */ = {isa = PBXBuildFile; fileRef = 226FD60F25A940F90021A67F /* VisualEffect.swift */; };
22903B0328294F4A004BB9F0 /* ColorExampleRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22903B0228294F49004BB9F0 /* ColorExampleRow.swift */; };
22D28DB72862377F00FC7DD4 /* OverflowContentViewModifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22D28DB62862377F00FC7DD4 /* OverflowContentViewModifier.swift */; };
22EF1D9B25B7AA18001102FA /* Sequence.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22EF1D9A25B7AA18001102FA /* Sequence.swift */; };
22FE80B325BA0F820063759E /* KeyboardShortcutItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22FE80B225BA0F820063759E /* KeyboardShortcutItem.swift */; };
EA0C525025AA729300AFF716 /* Visualisation.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0C524F25AA729300AFF716 /* Visualisation.swift */; };
EA0C526025AB5A2B00AFF716 /* NavigationMenuItems.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0C525F25AB5A2B00AFF716 /* NavigationMenuItems.swift */; };
EA0C526425AB5D1700AFF716 /* PikaWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0C526325AB5D1700AFF716 /* PikaWindow.swift */; };
EA0C526F25AB683400AFF716 /* EyedropperButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA0C526E25AB683400AFF716 /* EyedropperButton.swift */; };
EA136072284887E9004F1630 /* AppearanceButtonStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA136071284887E9004F1630 /* AppearanceButtonStyle.swift */; };
EA1D669F282EAE8700816F99 /* WindowManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA1D669E282EAE8700816F99 /* WindowManager.swift */; };
EA257BD125D8629300C3FC54 /* SwapButtonStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA257BD025D8629300C3FC54 /* SwapButtonStyle.swift */; };
EA424C7D25CDEF98009056A9 /* ComplianceToggleGroup.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA424C7C25CDEF98009056A9 /* ComplianceToggleGroup.swift */; };
EA424CDE25CF0328009056A9 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = EA424CE025CF0328009056A9 /* Localizable.strings */; };
Expand All @@ -36,6 +40,7 @@
EA8124C1259E307D00033F0B /* Footer.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA8124C0259E307D00033F0B /* Footer.swift */; };
EAA8AE1925B8EC070049299B /* KeyboardShortcutKey.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAA8AE1825B8EC070049299B /* KeyboardShortcutKey.swift */; };
EAA8AE1C25B8F03B0049299B /* KeyboardShortcutGrid.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAA8AE1B25B8F03B0049299B /* KeyboardShortcutGrid.swift */; };
EABAEAE0284D50D1000716AE /* ComplianceButtons.swift in Sources */ = {isa = PBXBuildFile; fileRef = EABAEADF284D50D1000716AE /* ComplianceButtons.swift */; };
EACA8A45260501210064035C /* Exporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = EACA8A44260501210064035C /* Exporter.swift */; };
EAD0B6CC259CED1C00FA2F67 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAD0B6CB259CED1C00FA2F67 /* AppDelegate.swift */; };
EAD0B6D0259CED1D00FA2F67 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = EAD0B6CF259CED1D00FA2F67 /* Assets.xcassets */; };
Expand Down Expand Up @@ -64,13 +69,17 @@
221600F825A62E5B00B8B7D9 /* IconImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IconImage.swift; sourceTree = "<group>"; };
221600FC25A636D600B8B7D9 /* ConditionalModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConditionalModifier.swift; sourceTree = "<group>"; };
226FD60F25A940F90021A67F /* VisualEffect.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VisualEffect.swift; sourceTree = "<group>"; };
22903B0228294F49004BB9F0 /* ColorExampleRow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ColorExampleRow.swift; sourceTree = "<group>"; };
22D28DB62862377F00FC7DD4 /* OverflowContentViewModifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OverflowContentViewModifier.swift; sourceTree = "<group>"; };
22EF1D9A25B7AA18001102FA /* Sequence.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Sequence.swift; sourceTree = "<group>"; };
22FE80B225BA0F820063759E /* KeyboardShortcutItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardShortcutItem.swift; sourceTree = "<group>"; };
92D97C2125FF7A5A007CCDE4 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = "<group>"; };
EA0C524F25AA729300AFF716 /* Visualisation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Visualisation.swift; sourceTree = "<group>"; };
EA0C525F25AB5A2B00AFF716 /* NavigationMenuItems.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationMenuItems.swift; sourceTree = "<group>"; };
EA0C526325AB5D1700AFF716 /* PikaWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PikaWindow.swift; sourceTree = "<group>"; };
EA0C526E25AB683400AFF716 /* EyedropperButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EyedropperButton.swift; sourceTree = "<group>"; };
EA136071284887E9004F1630 /* AppearanceButtonStyle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppearanceButtonStyle.swift; sourceTree = "<group>"; };
EA1D669E282EAE8700816F99 /* WindowManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WindowManager.swift; sourceTree = "<group>"; };
EA257BD025D8629300C3FC54 /* SwapButtonStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwapButtonStyle.swift; sourceTree = "<group>"; };
EA424C7C25CDEF98009056A9 /* ComplianceToggleGroup.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ComplianceToggleGroup.swift; sourceTree = "<group>"; };
EA424CDF25CF0328009056A9 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
Expand All @@ -91,6 +100,7 @@
EA8124C0259E307D00033F0B /* Footer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Footer.swift; sourceTree = "<group>"; };
EAA8AE1825B8EC070049299B /* KeyboardShortcutKey.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardShortcutKey.swift; sourceTree = "<group>"; };
EAA8AE1B25B8F03B0049299B /* KeyboardShortcutGrid.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardShortcutGrid.swift; sourceTree = "<group>"; };
EABAEADF284D50D1000716AE /* ComplianceButtons.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ComplianceButtons.swift; sourceTree = "<group>"; };
EACA8A44260501210064035C /* Exporter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Exporter.swift; sourceTree = "<group>"; };
EAD0B6C8259CED1C00FA2F67 /* Pika.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Pika.app; sourceTree = BUILT_PRODUCTS_DIR; };
EAD0B6CB259CED1C00FA2F67 /* AppDelegate.swift */ = {isa = PBXFileReference; indentWidth = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; tabWidth = 4; };
Expand Down Expand Up @@ -231,10 +241,12 @@
isa = PBXGroup;
children = (
EA7B199B25FBA0E600E06D9D /* ClosestVector.swift */,
EACA8A44260501210064035C /* Exporter.swift */,
EAD0B6F1259CF29300FA2F67 /* Eyedroppers.swift */,
EA0C526325AB5D1700AFF716 /* PikaWindow.swift */,
EA7B199525FBA08100E06D9D /* LoadColors.swift */,
EACA8A44260501210064035C /* Exporter.swift */,
EA0C526325AB5D1700AFF716 /* PikaWindow.swift */,
EA1D669E282EAE8700816F99 /* WindowManager.swift */,
22D28DB62862377F00FC7DD4 /* OverflowContentViewModifier.swift */,
);
path = Utilities;
sourceTree = "<group>";
Expand Down Expand Up @@ -263,6 +275,8 @@
EAF100CC25C785C4006E1EC3 /* TouchBarVisual.swift */,
226FD60F25A940F90021A67F /* VisualEffect.swift */,
EA0C524F25AA729300AFF716 /* Visualisation.swift */,
22903B0228294F49004BB9F0 /* ColorExampleRow.swift */,
EABAEADF284D50D1000716AE /* ComplianceButtons.swift */,
);
path = Views;
sourceTree = "<group>";
Expand All @@ -271,6 +285,7 @@
isa = PBXGroup;
children = (
EAD0B717259D146200FA2F67 /* EyedropperButtonStyle.swift */,
EA136071284887E9004F1630 /* AppearanceButtonStyle.swift */,
EA257BD025D8629300C3FC54 /* SwapButtonStyle.swift */,
EAEBF64625E878A5002999D1 /* CircleButtonStyle.swift */,
);
Expand Down Expand Up @@ -406,20 +421,24 @@
22EF1D9B25B7AA18001102FA /* Sequence.swift in Sources */,
EAD0B6F9259CF29300FA2F67 /* PreferencesView.swift in Sources */,
EA72BB8825A53750008205E7 /* SplashView.swift in Sources */,
EA136072284887E9004F1630 /* AppearanceButtonStyle.swift in Sources */,
EAF100CA25C75218006E1EC3 /* PikaTouchBar.swift in Sources */,
EA7B199625FBA08100E06D9D /* LoadColors.swift in Sources */,
EAF100C725C731AD006E1EC3 /* SplashTouchBar.swift in Sources */,
22D28DB72862377F00FC7DD4 /* OverflowContentViewModifier.swift in Sources */,
EAA8AE1C25B8F03B0049299B /* KeyboardShortcutGrid.swift in Sources */,
EA0C525025AA729300AFF716 /* Visualisation.swift in Sources */,
EAD0B6FB259CF29300FA2F67 /* ContentView.swift in Sources */,
EAD0B6CC259CED1C00FA2F67 /* AppDelegate.swift in Sources */,
EA635DCC25B3B42B0014D91A /* WCAGCompliance.swift in Sources */,
EA635DEA25B534C80014D91A /* EyedropperItem.swift in Sources */,
EA424C7D25CDEF98009056A9 /* ComplianceToggleGroup.swift in Sources */,
EA1D669F282EAE8700816F99 /* WindowManager.swift in Sources */,
EA7B199C25FBA0E600E06D9D /* ClosestVector.swift in Sources */,
EAD0B6F7259CF29300FA2F67 /* Eyedroppers.swift in Sources */,
EA0C526025AB5A2B00AFF716 /* NavigationMenuItems.swift in Sources */,
EA0C526425AB5D1700AFF716 /* PikaWindow.swift in Sources */,
EABAEAE0284D50D1000716AE /* ComplianceButtons.swift in Sources */,
EAF100CD25C785C4006E1EC3 /* TouchBarVisual.swift in Sources */,
EA801285259F8F480026D5D9 /* ComplianceToggle.swift in Sources */,
221600FD25A636D600B8B7D9 /* ConditionalModifier.swift in Sources */,
Expand All @@ -440,6 +459,7 @@
221600F925A62E5B00B8B7D9 /* IconImage.swift in Sources */,
EAD0B6FA259CF29300FA2F67 /* AppVersion.swift in Sources */,
EA8124C1259E307D00033F0B /* Footer.swift in Sources */,
22903B0328294F4A004BB9F0 /* ColorExampleRow.swift in Sources */,
EA635DDC25B4E90B0014D91A /* BindingOnChange.swift in Sources */,
EAD0B713259CFD2000FA2F67 /* Defaults.swift in Sources */,
226FD61025A940F90021A67F /* VisualEffect.swift in Sources */,
Expand Down Expand Up @@ -596,7 +616,7 @@
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 23;
CURRENT_PROJECT_VERSION = 29;
DEVELOPMENT_ASSET_PATHS = "\"Pika/Preview Content\"";
DEVELOPMENT_TEAM = TGHU37N6EX;
ENABLE_HARDENED_RUNTIME = YES;
Expand All @@ -607,7 +627,7 @@
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.15;
MARKETING_VERSION = 0.0.12;
MARKETING_VERSION = 0.0.13;
PRODUCT_BUNDLE_IDENTIFIER = com.superhighfives.Pika;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
Expand All @@ -623,7 +643,7 @@
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 23;
CURRENT_PROJECT_VERSION = 29;
DEVELOPMENT_ASSET_PATHS = "\"Pika/Preview Content\"";
DEVELOPMENT_TEAM = TGHU37N6EX;
ENABLE_HARDENED_RUNTIME = YES;
Expand All @@ -634,7 +654,7 @@
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.15;
MARKETING_VERSION = 0.0.12;
MARKETING_VERSION = 0.0.13;
PRODUCT_BUNDLE_IDENTIFIER = com.superhighfives.Pika;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,43 +1,40 @@
{
"object": {
"pins": [
{
"package": "Defaults",
"repositoryURL": "https://github.com/sindresorhus/Defaults",
"state": {
"branch": null,
"revision": "d98119fee49c893fae553103a8659ffe003b6cfe",
"version": "4.1.0"
}
},
{
"package": "KeyboardShortcuts",
"repositoryURL": "https://github.com/sindresorhus/KeyboardShortcuts",
"state": {
"branch": null,
"revision": "81e72f4787f2d642d788594834f42431f079e505",
"version": "0.6.0"
}
},
{
"package": "LaunchAtLogin",
"repositoryURL": "https://github.com/sindresorhus/LaunchAtLogin",
"state": {
"branch": null,
"revision": "0f39982b9d6993eef253b81219d3c39ba1e680f3",
"version": "4.0.0"
}
},
{
"package": "Sparkle",
"repositoryURL": "https://github.com/sparkle-project/Sparkle",
"state": {
"branch": null,
"revision": "891afd44c7075e699924ed9b81d8dc94a5111dfd",
"version": null
}
"pins" : [
{
"identity" : "defaults",
"kind" : "remoteSourceControl",
"location" : "https://github.com/sindresorhus/Defaults",
"state" : {
"revision" : "229dea452fee8d2205f56a12e5c21dfec00948f2",
"version" : "4.2.2"
}
]
},
"version": 1
},
{
"identity" : "keyboardshortcuts",
"kind" : "remoteSourceControl",
"location" : "https://github.com/sindresorhus/KeyboardShortcuts",
"state" : {
"revision" : "f09de800a4f05d66fe2a9924c81a932454a9f39a",
"version" : "0.7.1"
}
},
{
"identity" : "launchatlogin",
"kind" : "remoteSourceControl",
"location" : "https://github.com/sindresorhus/LaunchAtLogin",
"state" : {
"revision" : "e8171b3e38a2816f579f58f3dac1522aa39efe41",
"version" : "4.2.0"
}
},
{
"identity" : "sparkle",
"kind" : "remoteSourceControl",
"location" : "https://github.com/sparkle-project/Sparkle",
"state" : {
"revision" : "891afd44c7075e699924ed9b81d8dc94a5111dfd"
}
}
],
"version" : 2
}
49 changes: 41 additions & 8 deletions Pika/AppDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSMenuDelegate {
var aboutWindow: NSWindow!
var preferencesWindow: NSWindow!
var eyedroppers: Eyedroppers!
var windowManager: WindowManager!

var undoManager = UndoManager()

var pikaTouchBarController: PikaTouchBarController!
var splashTouchBarController: SplashTouchBarController!
Expand Down Expand Up @@ -40,6 +43,11 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSMenuDelegate {

// Set up eyedroppers
eyedroppers = Eyedroppers()
eyedroppers.foreground.undoManager = undoManager
eyedroppers.background.undoManager = undoManager

// Set up window manager
windowManager = WindowManager()

// Define content view
let contentView = ContentView()
Expand Down Expand Up @@ -105,18 +113,18 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSMenuDelegate {
statusBarMenu = NSMenu(title: "Status Bar Menu")
statusBarMenu.delegate = self
statusBarMenu.addItem(
withTitle: NSLocalizedString("menu.about", comment: "About"),
withTitle: PikaText.textMenuAbout,
action: #selector(openAboutWindow(_:)),
keyEquivalent: ""
)
statusBarMenu.addItem(
withTitle: "\(NSLocalizedString("menu.updates", comment: "Check for updates"))...",
withTitle: "\(PikaText.textMenuUpdates)...",
action: #selector(checkForUpdates(_:)),
keyEquivalent: ""
)

let preferences = NSMenuItem(
title: NSLocalizedString("menu.preferences", comment: "Preferences"),
title: PikaText.textMenuPreferences,
action: #selector(openPreferencesWindow(_:)),
keyEquivalent: ","
)
Expand All @@ -125,7 +133,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSMenuDelegate {

statusBarMenu.addItem(NSMenuItem.separator())
statusBarMenu.addItem(
withTitle: NSLocalizedString("menu.quit", comment: "Quit Pika"),
withTitle: PikaText.textMenuQuit,
action: #selector(terminatePika(_:)),
keyEquivalent: ""
)
Expand Down Expand Up @@ -164,20 +172,37 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSMenuDelegate {
styleMask: [.titled, .closable, .miniaturizable, .fullSizeContentView]
)
aboutTouchBarController = SplashTouchBarController(window: aboutWindow)
aboutWindow.contentView = NSHostingView(rootView: AboutView())
aboutWindow.contentView = NSHostingView(rootView: AboutView().edgesIgnoringSafeArea(.all))
}
aboutWindow.makeKeyAndOrderFront(nil)
}

@IBAction func openPreferencesWindow(_: Any?) {
if preferencesWindow == nil {
let view = NSHostingView(rootView: PreferencesView()
.edgesIgnoringSafeArea(.all)
.frame(
minWidth: 750,
maxWidth: .infinity,
minHeight: 0,
maxHeight: windowManager.screenHeight,
alignment: .topLeading
)
.fixedSize(horizontal: false, vertical: true)
.environmentObject(eyedroppers)
.environmentObject(windowManager))
preferencesWindow = PikaWindow.createSecondaryWindow(
title: "Preferences",
size: NSRect(x: 0, y: 0, width: 550, height: 450),
size: NSRect(x: 0, y: 0, width: 750, height: view.fittingSize.height),
styleMask: [.titled, .closable, .miniaturizable, .fullSizeContentView]
)
preferencesWindow.contentView = NSHostingView(rootView: PreferencesView())

let toolbarHeight: CGFloat = preferencesWindow.frame.height - preferencesWindow.contentLayoutRect.height
windowManager.toolbarPadding = toolbarHeight

preferencesWindow.contentView = view
}

preferencesWindow.makeKeyAndOrderFront(nil)
notificationCenter.post(name: Notification.Name(PikaConstants.ncTriggerPreferences), object: self)
}
Expand All @@ -190,7 +215,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSMenuDelegate {
styleMask: [.titled, .fullSizeContentView]
)
if #available(OSX 11.0, *) {
splashWindow.title = NSLocalizedString("app.name", comment: "Pika")
splashWindow.title = PikaText.textAppName
splashWindow.titleVisibility = .visible
}
splashTouchBarController = SplashTouchBarController(window: splashWindow)
Expand Down Expand Up @@ -219,6 +244,14 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSMenuDelegate {
notificationCenter.post(name: Notification.Name(PikaConstants.ncTriggerSwap), object: self)
}

@IBAction func triggerUndo(_: Any) {
undoManager.undo()
}

@IBAction func triggerRedo(_: Any) {
undoManager.redo()
}

@IBAction func triggerCopyText(_: Any) {
notificationCenter.post(name: Notification.Name(PikaConstants.ncTriggerCopyText), object: self)
}
Expand Down
Loading

0 comments on commit 086f901

Please sign in to comment.