|
|
@@ -91,8 +91,8 @@ class ViewController: NSViewController {
|
|
91
|
91
|
|
|
92
|
92
|
view.addSubview(sidebar)
|
|
93
|
93
|
view.addSubview(mainContentView)
|
|
94
|
|
- mainContentView.addSubview(headerView)
|
|
95
|
94
|
mainContentView.addSubview(contentContainer)
|
|
|
95
|
+ mainContentView.addSubview(headerView, positioned: .above, relativeTo: contentContainer)
|
|
96
|
96
|
|
|
97
|
97
|
sidebar.onDestinationSelected = { [weak self] destination in
|
|
98
|
98
|
self?.showDestination(destination)
|
|
|
@@ -110,8 +110,8 @@ class ViewController: NSViewController {
|
|
110
|
110
|
|
|
111
|
111
|
headerView.leadingAnchor.constraint(equalTo: mainContentView.leadingAnchor),
|
|
112
|
112
|
headerView.trailingAnchor.constraint(equalTo: mainContentView.trailingAnchor),
|
|
113
|
|
- headerView.topAnchor.constraint(equalTo: mainContentView.topAnchor, constant: 16),
|
|
114
|
|
- headerView.heightAnchor.constraint(equalToConstant: 44),
|
|
|
113
|
+ headerView.topAnchor.constraint(equalTo: mainContentView.topAnchor, constant: AppTheme.headerTopInset),
|
|
|
114
|
+ headerView.heightAnchor.constraint(equalToConstant: AppTheme.headerHeight),
|
|
115
|
115
|
|
|
116
|
116
|
contentContainer.leadingAnchor.constraint(equalTo: mainContentView.leadingAnchor),
|
|
117
|
117
|
contentContainer.trailingAnchor.constraint(equalTo: mainContentView.trailingAnchor),
|
|
|
@@ -123,7 +123,10 @@ class ViewController: NSViewController {
|
|
123
|
123
|
pinContentView(scanAndHomeContentView)
|
|
124
|
124
|
pinContentView(settingsContentView)
|
|
125
|
125
|
|
|
126
|
|
- contentTopBelowHeader = contentContainer.topAnchor.constraint(equalTo: headerView.bottomAnchor, constant: 8)
|
|
|
126
|
+ contentTopBelowHeader = contentContainer.topAnchor.constraint(
|
|
|
127
|
+ equalTo: headerView.bottomAnchor,
|
|
|
128
|
+ constant: AppTheme.contentBelowHeaderGap
|
|
|
129
|
+ )
|
|
127
|
130
|
contentTopBelowWindow = contentContainer.topAnchor.constraint(equalTo: mainContentView.topAnchor, constant: 12)
|
|
128
|
131
|
contentTopBelowHeader.isActive = true
|
|
129
|
132
|
|
|
|
@@ -189,14 +192,24 @@ class ViewController: NSViewController {
|
|
189
|
192
|
let container = NSView()
|
|
190
|
193
|
container.translatesAutoresizingMaskIntoConstraints = false
|
|
191
|
194
|
|
|
|
195
|
+ let panel = ContentPanelView()
|
|
|
196
|
+ panel.translatesAutoresizingMaskIntoConstraints = false
|
|
|
197
|
+
|
|
192
|
198
|
let scrollView = makeScrollView()
|
|
193
|
|
- container.addSubview(scrollView)
|
|
|
199
|
+ panel.addSubview(scrollView)
|
|
|
200
|
+ container.addSubview(panel)
|
|
194
|
201
|
|
|
|
202
|
+ let inset = AppTheme.contentPanelInset
|
|
195
|
203
|
NSLayoutConstraint.activate([
|
|
196
|
|
- scrollView.leadingAnchor.constraint(equalTo: container.leadingAnchor),
|
|
197
|
|
- scrollView.trailingAnchor.constraint(equalTo: container.trailingAnchor),
|
|
198
|
|
- scrollView.topAnchor.constraint(equalTo: container.topAnchor),
|
|
199
|
|
- scrollView.bottomAnchor.constraint(equalTo: container.bottomAnchor),
|
|
|
204
|
+ panel.leadingAnchor.constraint(equalTo: container.leadingAnchor, constant: inset),
|
|
|
205
|
+ panel.trailingAnchor.constraint(equalTo: container.trailingAnchor, constant: -inset),
|
|
|
206
|
+ panel.topAnchor.constraint(equalTo: container.topAnchor),
|
|
|
207
|
+ panel.bottomAnchor.constraint(equalTo: container.bottomAnchor, constant: -inset),
|
|
|
208
|
+
|
|
|
209
|
+ scrollView.leadingAnchor.constraint(equalTo: panel.leadingAnchor),
|
|
|
210
|
+ scrollView.trailingAnchor.constraint(equalTo: panel.trailingAnchor),
|
|
|
211
|
+ scrollView.topAnchor.constraint(equalTo: panel.topAnchor),
|
|
|
212
|
+ scrollView.bottomAnchor.constraint(equalTo: panel.bottomAnchor),
|
|
200
|
213
|
])
|
|
201
|
214
|
|
|
202
|
215
|
return container
|
|
|
@@ -286,7 +299,7 @@ class ViewController: NSViewController {
|
|
286
|
299
|
|
|
287
|
300
|
NSLayoutConstraint.activate([
|
|
288
|
301
|
titleLabel.centerXAnchor.constraint(equalTo: header.centerXAnchor),
|
|
289
|
|
- titleLabel.centerYAnchor.constraint(equalTo: header.centerYAnchor),
|
|
|
302
|
+ titleLabel.topAnchor.constraint(equalTo: header.topAnchor, constant: 2),
|
|
290
|
303
|
])
|
|
291
|
304
|
|
|
292
|
305
|
return header
|
|
|
@@ -345,7 +358,7 @@ class ViewController: NSViewController {
|
|
345
|
358
|
|
|
346
|
359
|
quickStartSection.leadingAnchor.constraint(equalTo: documentView.leadingAnchor, constant: AppTheme.contentPadding),
|
|
347
|
360
|
quickStartSection.trailingAnchor.constraint(equalTo: documentView.trailingAnchor, constant: -AppTheme.contentPadding),
|
|
348
|
|
- quickStartSection.topAnchor.constraint(equalTo: documentView.topAnchor, constant: 8),
|
|
|
361
|
+ quickStartSection.topAnchor.constraint(equalTo: documentView.topAnchor, constant: 20),
|
|
349
|
362
|
|
|
350
|
363
|
createPrintSection.leadingAnchor.constraint(equalTo: documentView.leadingAnchor, constant: AppTheme.contentPadding),
|
|
351
|
364
|
createPrintSection.trailingAnchor.constraint(equalTo: documentView.trailingAnchor, constant: -AppTheme.contentPadding),
|