2020-09-22 15:37:13 -07:00
|
|
|
//
|
|
|
|
|
// DocumentControlViewController.swift
|
|
|
|
|
// App
|
|
|
|
|
//
|
|
|
|
|
// Created by James Magahern on 9/22/20.
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
import UIKit
|
|
|
|
|
|
|
|
|
|
class DocumentControlViewController: UIViewController
|
|
|
|
|
{
|
2021-04-28 17:03:27 -07:00
|
|
|
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")
|
|
|
|
|
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
|
|
|
|
2021-02-15 22:47:02 -08:00
|
|
|
init(darkModeEnabled: Bool) {
|
|
|
|
|
super.init(nibName: nil, bundle: nil)
|
2020-09-22 15:37:13 -07:00
|
|
|
|
2021-02-15 22:47:02 -08:00
|
|
|
if darkModeEnabled {
|
|
|
|
|
darkModeView.label.text = "Disable Dark Mode"
|
|
|
|
|
} else {
|
|
|
|
|
darkModeView.label.text = "Enable Dark Mode"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
darkModeView.imageView.image = DarkModeControls.buttonImage(forDarkModeState: darkModeEnabled)
|
|
|
|
|
|
2021-04-28 17:03:27 -07:00
|
|
|
documentControlsView.stackView.addArrangedSubview(navigationControlView)
|
|
|
|
|
documentControlsView.stackView.addArrangedSubview(fontSizeAdjustView)
|
2021-05-06 16:19:39 -07:00
|
|
|
|
|
|
|
|
documentControlsView.stackView.addArrangedSubview(emailView)
|
2021-07-13 18:11:47 -07:00
|
|
|
documentControlsView.stackView.addArrangedSubview(sharingView)
|
2021-04-28 17:03:27 -07:00
|
|
|
documentControlsView.stackView.addArrangedSubview(findOnPageControlView)
|
|
|
|
|
documentControlsView.stackView.addArrangedSubview(darkModeView)
|
|
|
|
|
documentControlsView.stackView.addArrangedSubview(readabilityView)
|
|
|
|
|
documentControlsView.stackView.addArrangedSubview(archiveView)
|
2021-02-15 22:47:02 -08:00
|
|
|
|
2021-04-28 17:03:27 -07:00
|
|
|
documentControlsView.stackView.addArrangedSubview(settingsView)
|
2021-02-11 12:26:13 -08:00
|
|
|
|
2021-04-28 17:03:27 -07: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
|
|
|
}
|
|
|
|
|
|
2021-02-15 22:47:02 -08:00
|
|
|
required init?(coder: NSCoder) {
|
|
|
|
|
fatalError("init(coder:) has not been implemented")
|
|
|
|
|
}
|
|
|
|
|
|
2020-09-22 15:37:13 -07:00
|
|
|
override func loadView() {
|
2021-04-28 17:03:27 -07:00
|
|
|
self.view = documentControlsView
|
2020-09-22 15:37:13 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
override var preferredContentSize: CGSize {
|
2021-04-28 17:03:27 -07:00
|
|
|
get { documentControlsView.stackView.sizeThatFits(CGSize(width: Self.preferredWidth, height: -1)) }
|
2020-09-22 15:37:13 -07:00
|
|
|
set {}
|
|
|
|
|
}
|
|
|
|
|
}
|