Files
Attractor/App/Document Controls UI/DocumentControlViewController.swift

72 lines
3.0 KiB
Swift
Raw Normal View History

2020-09-22 15:37:13 -07:00
//
// DocumentControlViewController.swift
// App
//
// Created by James Magahern on 9/22/20.
//
import UIKit
class DocumentControlViewController: UIViewController
{
let documentControlsView = DocumentControlsView()
2021-07-13 18:11:47 -07:00
let fontSizeAdjustView = FontSizeAdjustView()
let navigationControlView = NavigationControlsView()
let findOnPageControlView = DocumentControlItemView().title("Find On Page") .symbol("magnifyingglass")
let settingsView = DocumentControlItemView().title("Settings") .symbol("gear")
let readabilityView = DocumentControlItemView().title("Reader Mode") .symbol("doc.richtext")
let archiveView = DocumentControlItemView().title("Archive.today") .symbol("shippingbox")
let emailView = DocumentControlItemView().title("Email") .symbol("envelope")
let sharingView = DocumentControlItemView().title("Share") .symbol("square.and.arrow.up")
2023-01-20 17:28:15 -08:00
let historyView = DocumentControlItemView().title("History") .symbol("clock.arrow.circlepath")
2021-07-13 18:11:47 -07:00
let darkModeView = DocumentControlItemView().title("Dark Mode")
2021-02-11 12:26:13 -08:00
var observations: [NSKeyValueObservation] = []
2020-09-22 15:37:13 -07:00
2021-07-13 18:11:47 -07:00
static public let preferredWidth = CGFloat(230.0)
2020-09-22 15:37:13 -07:00
init(darkModeEnabled: Bool) {
super.init(nibName: nil, bundle: nil)
2020-09-22 15:37:13 -07:00
if darkModeEnabled {
darkModeView.label.text = "Disable Dark Mode"
} else {
darkModeView.label.text = "Enable Dark Mode"
}
darkModeView.imageView.image = DarkModeControls.buttonImage(forDarkModeState: darkModeEnabled)
documentControlsView.stackView.addArrangedSubview(navigationControlView)
documentControlsView.stackView.addArrangedSubview(fontSizeAdjustView)
documentControlsView.stackView.addArrangedSubview(emailView)
2021-07-13 18:11:47 -07:00
documentControlsView.stackView.addArrangedSubview(sharingView)
documentControlsView.stackView.addArrangedSubview(findOnPageControlView)
documentControlsView.stackView.addArrangedSubview(darkModeView)
documentControlsView.stackView.addArrangedSubview(readabilityView)
documentControlsView.stackView.addArrangedSubview(archiveView)
2023-01-20 17:28:15 -08:00
documentControlsView.stackView.addArrangedSubview(historyView)
documentControlsView.stackView.addArrangedSubview(settingsView)
2021-02-11 12:26:13 -08:00
for (i, view) in documentControlsView.stackView.arrangedSubviews.enumerated() {
view.drawsBottomSeparator = (i < documentControlsView.stackView.arrangedSubviews.count - 1)
2021-02-11 12:26:13 -08:00
}
2020-09-22 15:37:13 -07:00
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
2020-09-22 15:37:13 -07:00
override func loadView() {
self.view = documentControlsView
2020-09-22 15:37:13 -07:00
}
override var preferredContentSize: CGSize {
get { documentControlsView.stackView.sizeThatFits(CGSize(width: Self.preferredWidth, height: -1)) }
2020-09-22 15:37:13 -07:00
set {}
}
}