diff --git a/Mac/Preferences/General/GeneralPrefencesViewController.swift b/Mac/Preferences/General/GeneralPrefencesViewController.swift index 969e90dd0..fd43229e5 100644 --- a/Mac/Preferences/General/GeneralPrefencesViewController.swift +++ b/Mac/Preferences/General/GeneralPrefencesViewController.swift @@ -40,6 +40,10 @@ final class GeneralPreferencesViewController: NSViewController { updateUI() } + @objc func articleThemeNamesDidChangeNotification(_ note: Notification) { + updateArticleThemePopup() + } + // MARK: - Actions @IBAction func articleThemePopUpDidChange(_ sender: Any) { @@ -67,6 +71,7 @@ private extension GeneralPreferencesViewController { func commonInit() { NotificationCenter.default.addObserver(self, selector: #selector(applicationWillBecomeActive(_:)), name: NSApplication.willBecomeActiveNotification, object: nil) + NotificationCenter.default.addObserver(self, selector: #selector(articleThemeNamesDidChangeNotification(_:)), name: .ArticleThemeNamesDidChangeNotification, object: nil) } func updateUI() { @@ -86,6 +91,9 @@ private extension GeneralPreferencesViewController { } articleThemePopup.selectItem(withTitle: ArticleThemesManager.shared.currentThemeName) + if articleThemePopup.indexOfSelectedItem == -1 { + articleThemePopup.selectItem(withTitle: ArticleTheme.defaultTheme.name) + } } func updateBrowserPopup() { diff --git a/Shared/ArticleStyles/ArticleThemesManager.swift b/Shared/ArticleStyles/ArticleThemesManager.swift index e434a34f6..8ca749812 100644 --- a/Shared/ArticleStyles/ArticleThemesManager.swift +++ b/Shared/ArticleStyles/ArticleThemesManager.swift @@ -81,6 +81,8 @@ final class ArticleThemesManager { } try FileManager.default.copyItem(atPath: filename, toPath: toFilename) + + updateThemeNames() } // MARK: Notifications