refactor: share footer action pill across launcher tools
This commit is contained in:
@@ -61,32 +61,17 @@ final class EmojiPickerController: NSViewController, NSCollectionViewDataSource,
|
||||
status.setContentCompressionResistancePriority(.defaultLow, for: .horizontal)
|
||||
copyButton.target = self
|
||||
copyButton.action = #selector(copyAndPasteSelection)
|
||||
copyButton.keyEquivalent = "\r"
|
||||
copyButton.isBordered = false
|
||||
copyButton.font = .systemFont(ofSize: 12, weight: .medium)
|
||||
copyButton.contentTintColor = SunsetPalette.text
|
||||
actionsButton.target = self
|
||||
actionsButton.action = #selector(showActions)
|
||||
actionsButton.keyEquivalent = "k"
|
||||
actionsButton.keyEquivalentModifierMask = .command
|
||||
actionsButton.isBordered = false
|
||||
actionsButton.font = copyButton.font
|
||||
actionsButton.contentTintColor = SunsetPalette.text
|
||||
let pill = NSStackView(views: [copyButton, ShortcutIndicator("↵"), actionsButton, ShortcutIndicator("⌘", "K")])
|
||||
pill.spacing = 8
|
||||
pill.edgeInsets = NSEdgeInsets(top: 0, left: 14, bottom: 0, right: 12)
|
||||
pill.wantsLayer = true
|
||||
pill.layer?.cornerRadius = 18
|
||||
pill.layer?.borderWidth = 0.5
|
||||
pill.layer?.borderColor = SunsetPalette.accent.withAlphaComponent(0.35).cgColor
|
||||
pill.layer?.backgroundColor = SunsetPalette.background.withAlphaComponent(0.25).cgColor
|
||||
let pill = ActionPill(primaryButton: copyButton, actionsButton: actionsButton)
|
||||
let footer = NSStackView(views: [status, NSView(), pill])
|
||||
pill.heightAnchor.constraint(equalToConstant: 36).isActive = true
|
||||
actions.closed = { [weak self] in
|
||||
self?.copyButton.keyEquivalent = "\r"
|
||||
self?.focusSearch?()
|
||||
}
|
||||
footer.spacing = 8
|
||||
footer.orientation = .horizontal
|
||||
footer.alignment = .centerY
|
||||
footer.spacing = 12
|
||||
for child in [category, scroll, empty, footer] {
|
||||
child.translatesAutoresizingMaskIntoConstraints = false
|
||||
view.addSubview(child)
|
||||
@@ -101,7 +86,7 @@ final class EmojiPickerController: NSViewController, NSCollectionViewDataSource,
|
||||
empty.centerXAnchor.constraint(equalTo: scroll.centerXAnchor),
|
||||
empty.centerYAnchor.constraint(equalTo: scroll.centerYAnchor),
|
||||
footer.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 16),
|
||||
footer.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -16),
|
||||
footer.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -8),
|
||||
footer.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -8),
|
||||
footer.heightAnchor.constraint(equalToConstant: 36),
|
||||
])
|
||||
|
||||
Reference in New Issue
Block a user