fix: place notes actions beside scrollable formatting controls
This commit is contained in:
@@ -62,16 +62,15 @@ final class NotesController: NSViewController, NSTextViewDelegate {
|
||||
noteTitle.lineBreakMode = .byTruncatingTail
|
||||
noteTitle.setAccessibilityLabel("Note title")
|
||||
let header = NSView()
|
||||
for control in [noteTitle, controls] {
|
||||
for control in [noteTitle] {
|
||||
control.translatesAutoresizingMaskIntoConstraints = false
|
||||
header.addSubview(control)
|
||||
control.centerYAnchor.constraint(equalTo: header.centerYAnchor).isActive = true
|
||||
}
|
||||
NSLayoutConstraint.activate([
|
||||
controls.trailingAnchor.constraint(equalTo: header.trailingAnchor, constant: -8),
|
||||
noteTitle.centerXAnchor.constraint(equalTo: header.centerXAnchor),
|
||||
noteTitle.leadingAnchor.constraint(greaterThanOrEqualTo: header.leadingAnchor, constant: 44),
|
||||
noteTitle.trailingAnchor.constraint(lessThanOrEqualTo: controls.leadingAnchor, constant: -16),
|
||||
noteTitle.trailingAnchor.constraint(lessThanOrEqualTo: header.trailingAnchor, constant: -44),
|
||||
])
|
||||
actions.closed = { [weak self] in self?.focusEditor() }
|
||||
actions.selectNote = { [weak self] in self?.switchNote($0) }
|
||||
@@ -92,7 +91,22 @@ final class NotesController: NSViewController, NSTextViewDelegate {
|
||||
formatting.addArrangedSubview(button)
|
||||
}
|
||||
formatting.spacing = 8
|
||||
let footer = NSStackView(views: [formatting, NSView()])
|
||||
let formattingScroll = NSScrollView()
|
||||
formattingScroll.drawsBackground = false
|
||||
formattingScroll.contentView.drawsBackground = false
|
||||
formattingScroll.hasHorizontalScroller = true
|
||||
formattingScroll.autohidesScrollers = true
|
||||
formattingScroll.scrollerStyle = .overlay
|
||||
formattingScroll.verticalScrollElasticity = .none
|
||||
formattingScroll.documentView = formatting
|
||||
formatting.translatesAutoresizingMaskIntoConstraints = false
|
||||
NSLayoutConstraint.activate([
|
||||
formatting.widthAnchor.constraint(equalToConstant: CGFloat(tools.count * 28 + (tools.count - 1) * 8)),
|
||||
formatting.heightAnchor.constraint(equalToConstant: 28),
|
||||
formattingScroll.widthAnchor.constraint(greaterThanOrEqualToConstant: 28),
|
||||
formattingScroll.heightAnchor.constraint(equalToConstant: 36),
|
||||
])
|
||||
let footer = NSStackView(views: [formattingScroll, controls])
|
||||
footer.alignment = .centerY
|
||||
footer.spacing = 8
|
||||
editor.delegate = self
|
||||
@@ -149,11 +163,11 @@ final class NotesController: NSViewController, NSTextViewDelegate {
|
||||
body.bottomAnchor.constraint(equalTo: view.bottomAnchor),
|
||||
scroll.widthAnchor.constraint(equalTo: body.widthAnchor),
|
||||
footer.leadingAnchor.constraint(equalTo: body.leadingAnchor, constant: 24),
|
||||
footer.trailingAnchor.constraint(equalTo: body.trailingAnchor, constant: -6),
|
||||
footer.trailingAnchor.constraint(equalTo: body.trailingAnchor, constant: -8),
|
||||
status.leadingAnchor.constraint(equalTo: body.leadingAnchor, constant: 28),
|
||||
status.trailingAnchor.constraint(equalTo: body.trailingAnchor, constant: -12),
|
||||
scroll.heightAnchor.constraint(greaterThanOrEqualToConstant: 80),
|
||||
footer.heightAnchor.constraint(equalToConstant: 28),
|
||||
footer.heightAnchor.constraint(equalToConstant: 36),
|
||||
])
|
||||
guard let store else {
|
||||
editor.isEditable = false
|
||||
|
||||
Reference in New Issue
Block a user