mirror of
https://github.com/Ranchero-Software/NetNewsWire
synced 2025-08-12 06:26:36 +00:00
Add article theme pop up to General Prefs
This commit is contained in:
@@ -15,7 +15,8 @@ final class GeneralPreferencesViewController: NSViewController {
|
||||
|
||||
private var userNotificationSettings: UNNotificationSettings?
|
||||
|
||||
@IBOutlet var defaultBrowserPopup: NSPopUpButton!
|
||||
@IBOutlet weak var articleThemePopup: NSPopUpButton!
|
||||
@IBOutlet weak var defaultBrowserPopup: NSPopUpButton!
|
||||
|
||||
public override init(nibName nibNameOrNil: NSNib.Name?, bundle nibBundleOrNil: Bundle?) {
|
||||
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
|
||||
@@ -41,13 +42,21 @@ final class GeneralPreferencesViewController: NSViewController {
|
||||
|
||||
// MARK: - Actions
|
||||
|
||||
@IBAction func articleThemePopUpDidChange(_ sender: Any) {
|
||||
guard let menuItem = articleThemePopup.selectedItem else {
|
||||
return
|
||||
}
|
||||
ArticleThemesManager.shared.currentThemeName = menuItem.title
|
||||
updateArticleThemePopup()
|
||||
}
|
||||
|
||||
@IBAction func browserPopUpDidChangeValue(_ sender: Any?) {
|
||||
guard let menuItem = defaultBrowserPopup.selectedItem else {
|
||||
return
|
||||
}
|
||||
let bundleID = menuItem.representedObject as? String
|
||||
AppDefaults.shared.defaultBrowserID = bundleID
|
||||
updateUI()
|
||||
updateBrowserPopup()
|
||||
}
|
||||
|
||||
}
|
||||
@@ -61,12 +70,22 @@ private extension GeneralPreferencesViewController {
|
||||
}
|
||||
|
||||
func updateUI() {
|
||||
updateArticleThemePopup()
|
||||
updateBrowserPopup()
|
||||
}
|
||||
|
||||
func updateArticleThemePopup() {
|
||||
let menu = articleThemePopup.menu!
|
||||
menu.removeAllItems()
|
||||
|
||||
menu.addItem(NSMenuItem(title: ArticleTheme.defaultTheme.name, action: nil, keyEquivalent: ""))
|
||||
menu.addItem(NSMenuItem.separator())
|
||||
|
||||
func registerAppWithBundleID(_ bundleID: String) {
|
||||
NSWorkspace.shared.setDefaultAppBundleID(forURLScheme: "feed", to: bundleID)
|
||||
NSWorkspace.shared.setDefaultAppBundleID(forURLScheme: "feeds", to: bundleID)
|
||||
for themeName in ArticleThemesManager.shared.themeNames {
|
||||
menu.addItem(NSMenuItem(title: themeName, action: nil, keyEquivalent: ""))
|
||||
}
|
||||
|
||||
articleThemePopup.selectItem(withTitle: ArticleThemesManager.shared.currentThemeName)
|
||||
}
|
||||
|
||||
func updateBrowserPopup() {
|
||||
|
||||
Reference in New Issue
Block a user