From c031aa5cbefefaee269ae06fe7ead8aeb0fb6806 Mon Sep 17 00:00:00 2001 From: Maurice C Parker Date: Thu, 9 Sep 2021 05:47:49 -0500 Subject: [PATCH] Add popup button for selecting article themes on Catalina --- Mac/Base.lproj/MainWindow.storyboard | 23 +++++++++++++++++++++-- Mac/MainWindow/MainWindowController.swift | 14 +++++++++----- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/Mac/Base.lproj/MainWindow.storyboard b/Mac/Base.lproj/MainWindow.storyboard index 1a054538f..6b01165e4 100644 --- a/Mac/Base.lproj/MainWindow.storyboard +++ b/Mac/Base.lproj/MainWindow.storyboard @@ -1,8 +1,8 @@ - + - + @@ -196,6 +196,24 @@ + + + + + + + + + + + + + + + + + + @@ -221,6 +239,7 @@ + diff --git a/Mac/MainWindow/MainWindowController.swift b/Mac/MainWindow/MainWindowController.swift index cba22d362..59e58c7e4 100644 --- a/Mac/MainWindow/MainWindowController.swift +++ b/Mac/MainWindow/MainWindowController.swift @@ -18,7 +18,9 @@ enum TimelineSourceMode { class MainWindowController : NSWindowController, NSUserInterfaceValidations { - private var activityManager = ActivityManager() + @IBOutlet weak var articleThemePopUpButton: NSPopUpButton? + + private var activityManager = ActivityManager() private var isShowingExtractedArticle = false private var articleExtractor: ArticleExtractor? = nil @@ -62,6 +64,8 @@ class MainWindowController : NSWindowController, NSUserInterfaceValidations { sharingServicePickerDelegate = SharingServicePickerDelegate(self.window) + updateArticleThemeMenu() + if #available(macOS 11.0, *) { let toolbar = NSToolbar(identifier: "MainWindowToolbar") toolbar.allowsUserCustomization = true @@ -155,11 +159,11 @@ class MainWindowController : NSWindowController, NSUserInterfaceValidations { } @objc func articleThemeNamesDidChangeNotification(_ note: Notification) { - buildArticleThemeMenu() + updateArticleThemeMenu() } @objc func currentArticleThemeDidChangeNotification(_ note: Notification) { - buildArticleThemeMenu() + updateArticleThemeMenu() } private func updateWindowTitleIfNecessary(_ noteObject: Any?) { @@ -817,7 +821,6 @@ extension MainWindowController: NSToolbarDelegate { let description = NSLocalizedString("Article Theme", comment: "Article Theme") articleThemeMenuToolbarItem.toolTip = description articleThemeMenuToolbarItem.label = description - buildArticleThemeMenu() return articleThemeMenuToolbarItem case .search: @@ -1413,7 +1416,7 @@ private extension MainWindowController { return menu } - func buildArticleThemeMenu() { + func updateArticleThemeMenu() { let articleThemeMenu = NSMenu() let defaultThemeItem = NSMenuItem() @@ -1433,6 +1436,7 @@ private extension MainWindowController { } articleThemeMenuToolbarItem.menu = articleThemeMenu + articleThemePopUpButton?.menu = articleThemeMenu } }