Files
Attractor/App/Document Controls UI/DocumentControlViewController.swift
James Magahern dd11f1c61a Email and Share icons
Although at the time of writing, Email will crash on 15
2021-05-06 16:19:39 -07:00

81 lines
2.9 KiB
Swift

//
// DocumentControlViewController.swift
// App
//
// Created by James Magahern on 9/22/20.
//
import UIKit
class DocumentControlViewController: UIViewController
{
let documentControlsView = DocumentControlsView()
let fontSizeAdjustView = FontSizeAdjustView()
let findOnPageControlView = DocumentControlItemView()
let navigationControlView = NavigationControlsView()
let settingsView = DocumentControlItemView()
let readabilityView = DocumentControlItemView()
let darkModeView = DocumentControlItemView()
let archiveView = DocumentControlItemView()
let emailView = DocumentControlItemView()
var observations: [NSKeyValueObservation] = []
static public let preferredWidth = CGFloat(200.0)
init(darkModeEnabled: Bool) {
super.init(nibName: nil, bundle: nil)
findOnPageControlView.label.text = "Find On Page"
findOnPageControlView.imageView.image = UIImage(systemName: "magnifyingglass")
settingsView.label.text = "Settings"
settingsView.imageView.image = UIImage(systemName: "gear")
readabilityView.label.text = "Reader Mode"
readabilityView.imageView.image = UIImage(systemName: "doc.richtext")
archiveView.label.text = "Archive.today"
archiveView.imageView.image = UIImage(systemName: "shippingbox")
emailView.label.text = "Email"
emailView.imageView.image = UIImage(systemName: "envelope")
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)
documentControlsView.stackView.addArrangedSubview(findOnPageControlView)
documentControlsView.stackView.addArrangedSubview(darkModeView)
documentControlsView.stackView.addArrangedSubview(readabilityView)
documentControlsView.stackView.addArrangedSubview(archiveView)
documentControlsView.stackView.addArrangedSubview(settingsView)
for (i, view) in documentControlsView.stackView.arrangedSubviews.enumerated() {
view.drawsBottomSeparator = (i < documentControlsView.stackView.arrangedSubviews.count - 1)
}
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func loadView() {
self.view = documentControlsView
}
override var preferredContentSize: CGSize {
get { documentControlsView.stackView.sizeThatFits(CGSize(width: Self.preferredWidth, height: -1)) }
set {}
}
}