diff --git a/writeas/AppDelegate.swift b/writeas/AppDelegate.swift
index 4c60e28..93779a3 100644
--- a/writeas/AppDelegate.swift
+++ b/writeas/AppDelegate.swift
@@ -14,12 +14,29 @@ class AppDelegate: NSObject, NSApplicationDelegate {
var vc: ViewController?
@IBOutlet weak var nightModeItem: NSMenuItem!
-
+ @IBOutlet weak var formatFontSerifItem: NSMenuItem!
+ @IBOutlet weak var formatFontSansItem: NSMenuItem!
+ @IBOutlet weak var formatFontMonoItem: NSMenuItem!
+
func applicationDidFinishLaunching(_ aNotification: Notification) {
+ // Set night mode state
nightModeItem.state = Int(UserDefaults.standard.string(forKey: "night_mode_state") ?? String(NSOffState))!
if nightModeItem.state == NSOnState {
vc?.toggle(isNight: true)
}
+
+ // Set font
+ let font = Preferences.getFont()
+ if font == Preferences.PostFont.serif {
+ formatFontSerifItem.state = NSOnState
+ vc?.setFont(.serif)
+ } else if font == Preferences.PostFont.sans {
+ formatFontSansItem.state = NSOnState
+ vc?.setFont(.sans)
+ } else if font == Preferences.PostFont.mono {
+ formatFontMonoItem.state = NSOnState
+ vc?.setFont(.mono)
+ }
}
func applicationWillTerminate(_ aNotification: Notification) {
@@ -39,6 +56,33 @@ class AppDelegate: NSObject, NSApplicationDelegate {
UserDefaults.standard.set(String(sender.state), forKey: "night_mode_state")
}
+ @IBAction func setFontSerif(_ sender: NSMenuItem) {
+ deselectAllFonts()
+ sender.state = NSOnState
+ vc?.setFont(.serif)
+ Preferences.setFont(.serif)
+ }
+
+ @IBAction func setFontSans(_ sender: NSMenuItem) {
+ deselectAllFonts()
+ sender.state = NSOnState
+ vc?.setFont(.sans)
+ Preferences.setFont(.sans)
+ }
+
+ @IBAction func setFontMono(_ sender: NSMenuItem) {
+ deselectAllFonts()
+ sender.state = NSOnState
+ vc?.setFont(.mono)
+ Preferences.setFont(.mono)
+ }
+
+ func deselectAllFonts() {
+ formatFontSerifItem.state = NSOffState
+ formatFontSansItem.state = NSOffState
+ formatFontMonoItem.state = NSOffState
+ }
+
@IBAction func saveDocument(_ sender: AnyObject) {
vc?.saveDocument()
}
diff --git a/writeas/Base.lproj/Main.storyboard b/writeas/Base.lproj/Main.storyboard
index e13aaa8..c55d8b8 100644
--- a/writeas/Base.lproj/Main.storyboard
+++ b/writeas/Base.lproj/Main.storyboard
@@ -235,6 +235,62 @@ DQ
+