Add popup button for selecting article themes on Catalina

This commit is contained in:
Maurice C Parker 2021-09-09 05:47:49 -05:00
parent 6c09bf585c
commit c031aa5cbe
2 changed files with 30 additions and 7 deletions

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="17506" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" initialViewController="B8D-0N-5wS">
<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="17701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" initialViewController="B8D-0N-5wS">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17506"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17701"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
@ -196,6 +196,24 @@
<action selector="cleanUp:" target="Oky-zY-oP4" id="UCH-DG-yk4"/>
</connections>
</toolbarItem>
<toolbarItem implicitItemIdentifier="596363B5-CE41-417C-B8AB-11CC2C99BCA5" label="Article Theme" paletteLabel="Article Theme" sizingBehavior="auto" id="3Hc-al-vK2">
<nil key="toolTip"/>
<popUpButton key="view" verticalHuggingPriority="750" id="MFT-nb-eLG">
<rect key="frame" x="0.0" y="14" width="100" height="24"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<popUpButtonCell key="cell" type="roundTextured" title="Item 1" bezelStyle="texturedRounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" selectedItem="xAs-IL-tMv" id="ior-Gb-LTq">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
<menu key="menu" id="1Ac-Uq-Yeu">
<items>
<menuItem title="Item 1" state="on" id="xAs-IL-tMv"/>
<menuItem title="Item 2" id="T8e-ib-OTb"/>
<menuItem title="Item 3" id="Gfy-76-Njz"/>
</items>
</menu>
</popUpButtonCell>
</popUpButton>
</toolbarItem>
</allowedToolbarItems>
<defaultToolbarItems>
<toolbarItem reference="Skp-5r-70Q"/>
@ -221,6 +239,7 @@
</connections>
</window>
<connections>
<outlet property="articleThemePopUpButton" destination="MFT-nb-eLG" id="lHc-ej-PrT"/>
<segue destination="reS-fe-pD8" kind="relationship" relationship="window.shadowedContentViewController" id="WS2-WB-dc4"/>
</connections>
</windowController>

View File

@ -18,6 +18,8 @@ enum TimelineSourceMode {
class MainWindowController : NSWindowController, NSUserInterfaceValidations {
@IBOutlet weak var articleThemePopUpButton: NSPopUpButton?
private var activityManager = ActivityManager()
private var isShowingExtractedArticle = false
@ -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
}
}