Continue removing Reddit references.

This commit is contained in:
Brent Simmons
2023-06-30 21:24:18 -07:00
parent a673e6bba7
commit 7c75f62fcf
13 changed files with 4 additions and 735 deletions

View File

@@ -1,248 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="17154" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17154"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="AddRedditFeedWindowController" customModule="NetNewsWire" customModuleProvider="target">
<connections>
<outlet property="accountLabel" destination="Acr-Ig-NVG" id="1gD-BE-CjH"/>
<outlet property="accountPopupButton" destination="X1H-Vv-1CJ" id="I0k-bb-XcU"/>
<outlet property="addButton" destination="dtI-Hu-rFb" id="D11-zR-dWH"/>
<outlet property="folderPopupButton" destination="6vt-DL-mVR" id="98M-xt-ZYU"/>
<outlet property="nameTextField" destination="TzV-3k-fXd" id="h4h-5v-4cY"/>
<outlet property="sortPopupButton" destination="70f-O6-cwn" id="Inr-Te-NrP"/>
<outlet property="subredditTextField" destination="cEh-Wt-f5D" id="bnp-Zp-1fe"/>
<outlet property="typeDescriptionLabel" destination="f4Z-B8-HHm" id="jZ2-gz-Zr2"/>
<outlet property="typePopupButton" destination="j18-w8-wsH" id="KFC-K4-0tG"/>
<outlet property="typeToSortLayoutConstraint" destination="cWU-ae-ETO" id="wrj-j7-L7F"/>
<outlet property="window" destination="QvC-M9-y7g" id="7rH-S2-LF4"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<window title="Add Reddit Feed" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" id="QvC-M9-y7g">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="196" y="240" width="306" height="241"/>
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1415"/>
<view key="contentView" id="EiT-Mj-1SZ">
<rect key="frame" x="0.0" y="0.0" width="306" height="240"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="hXq-IS-19x">
<rect key="frame" x="119" y="13" width="88" height="32"/>
<buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Dop-HC-6Q9">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
<string key="keyEquivalent" base64-UTF8="YES">
Gw
</string>
</buttonCell>
<connections>
<action selector="cancel:" target="-2" id="tcT-tt-t99"/>
</connections>
</button>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="dtI-Hu-rFb">
<rect key="frame" x="205" y="13" width="88" height="32"/>
<buttonCell key="cell" type="push" title="Add" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="6NK-Ql-drk">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
<string key="keyEquivalent" base64-UTF8="YES">
DQ
</string>
</buttonCell>
<connections>
<action selector="addFeed:" target="-2" id="Ilv-Un-eDp"/>
</connections>
</button>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ddC-6D-Tvd">
<rect key="frame" x="40" y="201" width="41" height="16"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Type:" id="qto-IO-a1j">
<font key="font" metaFont="systemBold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="j18-w8-wsH">
<rect key="frame" x="85" y="196" width="204" height="25"/>
<popUpButtonCell key="cell" type="push" title="Home" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="uE6-1a-w5g" id="bad-PM-uqO">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
<menu key="menu" id="Ibj-Uy-KK7">
<items>
<menuItem title="Home" state="on" id="uE6-1a-w5g"/>
<menuItem title="Popular" tag="1" id="177-F8-Esj"/>
<menuItem title="All" tag="2" id="DBZ-RV-FfV"/>
<menuItem title="Subreddit" tag="3" id="0gG-oY-8yR"/>
</items>
</menu>
</popUpButtonCell>
<connections>
<action selector="selectedType:" target="-2" id="eAs-So-odx"/>
</connections>
</popUpButton>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Acr-Ig-NVG">
<rect key="frame" x="18" y="170" width="63" height="16"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Account:" id="LFf-JL-Ahl">
<font key="font" metaFont="systemBold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="X1H-Vv-1CJ">
<rect key="frame" x="85" y="165" width="204" height="25"/>
<popUpButtonCell key="cell" type="push" title="u/username" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="Tfk-aQ-RKg" id="HPE-P1-Hje">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
<menu key="menu" id="TmQ-5T-oaz">
<items>
<menuItem title="u/username" state="on" id="Tfk-aQ-RKg"/>
</items>
</menu>
</popUpButtonCell>
</popUpButton>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="cEh-Wt-f5D">
<rect key="frame" x="87" y="168" width="199" height="21"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" usesSingleLineMode="YES" id="NLJ-ih-hZ8">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<connections>
<outlet property="delegate" destination="-2" id="hNy-Li-bjr"/>
</connections>
</textField>
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="70f-O6-cwn">
<rect key="frame" x="85" y="136" width="204" height="25"/>
<popUpButtonCell key="cell" type="push" title="Best" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="aub-jN-9Gq" id="4yc-EH-fq1">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
<menu key="menu" id="TOy-BV-N84">
<items>
<menuItem title="Best" state="on" id="aub-jN-9Gq"/>
<menuItem title="Hot" tag="1" id="KA5-sN-dho"/>
<menuItem title="New" tag="2" id="kUE-J5-iAE"/>
<menuItem title="Top" tag="3" id="fuh-g6-Ro7"/>
<menuItem title="Rising" tag="4" id="XIL-2V-O3A"/>
</items>
</menu>
</popUpButtonCell>
</popUpButton>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="f4Z-B8-HHm">
<rect key="frame" x="85" y="117" width="203" height="14"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" title="Label" usesSingleLineMode="YES" id="5AA-um-oEb">
<font key="font" metaFont="message" size="11"/>
<color key="textColor" name="secondaryLabelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="sM9-DX-M0c">
<rect key="frame" x="35" y="89" width="46" height="16"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Name:" id="8ca-Qp-BkT">
<font key="font" metaFont="systemBold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="TzV-3k-fXd" userLabel="Name Text Field">
<rect key="frame" x="87" y="86" width="199" height="21"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" placeholderString="Optional" drawsBackground="YES" usesSingleLineMode="YES" id="pLP-pL-5R5">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="dNV-oD-vzR">
<rect key="frame" x="31" y="56" width="50" height="16"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Folder:" id="Kwx-7B-CIu">
<font key="font" metaFont="systemBold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="6vt-DL-mVR" userLabel="Folder Popup">
<rect key="frame" x="85" y="52" width="204" height="25"/>
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="tLJ-zY-CcZ" id="0cM-5q-Snl">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
<menu key="menu" id="OpL-Uf-woJ">
<items>
<menuItem title="Item 1" state="on" id="tLJ-zY-CcZ"/>
<menuItem title="Item 2" id="APc-af-7Um"/>
<menuItem title="Item 3" id="j09-9b-bGs"/>
</items>
</menu>
</popUpButtonCell>
</popUpButton>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="SUY-MY-47P">
<rect key="frame" x="44" y="141" width="37" height="16"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Sort:" id="cxl-iF-EB5">
<font key="font" metaFont="systemBold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
<constraints>
<constraint firstItem="dNV-oD-vzR" firstAttribute="baseline" secondItem="6vt-DL-mVR" secondAttribute="baseline" id="14b-jN-4Y6"/>
<constraint firstItem="f4Z-B8-HHm" firstAttribute="top" secondItem="70f-O6-cwn" secondAttribute="bottom" constant="8" id="1eU-dD-qwY"/>
<constraint firstItem="X1H-Vv-1CJ" firstAttribute="firstBaseline" secondItem="Acr-Ig-NVG" secondAttribute="firstBaseline" id="3Cl-Bw-Pcy"/>
<constraint firstItem="X1H-Vv-1CJ" firstAttribute="top" secondItem="j18-w8-wsH" secondAttribute="bottom" constant="10" id="48A-2f-2Wq"/>
<constraint firstAttribute="bottom" secondItem="dtI-Hu-rFb" secondAttribute="bottom" constant="20" symbolic="YES" id="6ac-2K-RnD"/>
<constraint firstItem="cEh-Wt-f5D" firstAttribute="leading" secondItem="j18-w8-wsH" secondAttribute="leading" id="73d-zR-g8z"/>
<constraint firstItem="TzV-3k-fXd" firstAttribute="leading" secondItem="cEh-Wt-f5D" secondAttribute="leading" id="Ap9-Ln-amq"/>
<constraint firstAttribute="trailing" secondItem="X1H-Vv-1CJ" secondAttribute="trailing" constant="20" id="Boa-Qw-dIK"/>
<constraint firstItem="TzV-3k-fXd" firstAttribute="leading" secondItem="sM9-DX-M0c" secondAttribute="trailing" constant="8" id="Ebw-Fa-w9o"/>
<constraint firstItem="TzV-3k-fXd" firstAttribute="top" secondItem="f4Z-B8-HHm" secondAttribute="bottom" constant="10" id="Elk-Gm-e4i"/>
<constraint firstItem="70f-O6-cwn" firstAttribute="leading" secondItem="SUY-MY-47P" secondAttribute="trailing" constant="8" id="GeW-yv-Ucu"/>
<constraint firstItem="X1H-Vv-1CJ" firstAttribute="leading" secondItem="Acr-Ig-NVG" secondAttribute="trailing" constant="8" id="HwM-IS-kMa"/>
<constraint firstItem="dtI-Hu-rFb" firstAttribute="width" secondItem="hXq-IS-19x" secondAttribute="width" id="J80-aG-OjE"/>
<constraint firstItem="SUY-MY-47P" firstAttribute="firstBaseline" secondItem="70f-O6-cwn" secondAttribute="firstBaseline" id="JvV-wx-SCU"/>
<constraint firstItem="sM9-DX-M0c" firstAttribute="baseline" secondItem="TzV-3k-fXd" secondAttribute="baseline" id="K9a-t8-khQ"/>
<constraint firstAttribute="trailing" secondItem="f4Z-B8-HHm" secondAttribute="trailing" constant="20" id="POl-uX-qpn"/>
<constraint firstItem="f4Z-B8-HHm" firstAttribute="leading" secondItem="j18-w8-wsH" secondAttribute="leading" id="RbK-fc-c6E"/>
<constraint firstItem="hXq-IS-19x" firstAttribute="centerY" secondItem="dtI-Hu-rFb" secondAttribute="centerY" id="Sgq-Cy-rII"/>
<constraint firstItem="6vt-DL-mVR" firstAttribute="top" secondItem="TzV-3k-fXd" secondAttribute="bottom" constant="10" id="Sjo-Bv-alZ"/>
<constraint firstAttribute="trailing" secondItem="TzV-3k-fXd" secondAttribute="trailing" constant="20" symbolic="YES" id="V1s-JA-hA8"/>
<constraint firstItem="6vt-DL-mVR" firstAttribute="leading" secondItem="dNV-oD-vzR" secondAttribute="trailing" constant="8" id="WNy-vn-p8M"/>
<constraint firstAttribute="trailing" secondItem="cEh-Wt-f5D" secondAttribute="trailing" constant="20" id="ZSt-ga-a8N"/>
<constraint firstItem="dtI-Hu-rFb" firstAttribute="leading" secondItem="hXq-IS-19x" secondAttribute="trailing" constant="12" symbolic="YES" id="ahD-oU-iFu"/>
<constraint firstItem="70f-O6-cwn" firstAttribute="top" secondItem="j18-w8-wsH" secondAttribute="bottom" constant="39" id="cWU-ae-ETO"/>
<constraint firstItem="Acr-Ig-NVG" firstAttribute="leading" secondItem="EiT-Mj-1SZ" secondAttribute="leading" constant="20" id="dhv-D0-aPe"/>
<constraint firstAttribute="trailing" secondItem="j18-w8-wsH" secondAttribute="trailing" constant="20" id="eQ9-hw-PXg"/>
<constraint firstItem="j18-w8-wsH" firstAttribute="top" secondItem="EiT-Mj-1SZ" secondAttribute="top" constant="20" symbolic="YES" id="fK6-IW-NhJ"/>
<constraint firstItem="j18-w8-wsH" firstAttribute="leading" secondItem="X1H-Vv-1CJ" secondAttribute="leading" id="gSv-gG-TLd"/>
<constraint firstItem="6vt-DL-mVR" firstAttribute="leading" secondItem="TzV-3k-fXd" secondAttribute="leading" id="hMP-wG-fsP"/>
<constraint firstItem="cEh-Wt-f5D" firstAttribute="top" secondItem="j18-w8-wsH" secondAttribute="bottom" constant="10" id="hxS-Z9-dWU"/>
<constraint firstItem="dtI-Hu-rFb" firstAttribute="top" secondItem="6vt-DL-mVR" secondAttribute="bottom" constant="15" id="iRc-pH-8jE"/>
<constraint firstItem="j18-w8-wsH" firstAttribute="firstBaseline" secondItem="ddC-6D-Tvd" secondAttribute="firstBaseline" id="iz7-4p-NWj"/>
<constraint firstAttribute="trailing" secondItem="dtI-Hu-rFb" secondAttribute="trailing" constant="20" symbolic="YES" id="kEo-af-SUe"/>
<constraint firstItem="j18-w8-wsH" firstAttribute="leading" secondItem="ddC-6D-Tvd" secondAttribute="trailing" constant="8" id="n9D-4Y-HXk"/>
<constraint firstItem="70f-O6-cwn" firstAttribute="leading" secondItem="cEh-Wt-f5D" secondAttribute="leading" id="ow9-UK-CmH"/>
<constraint firstAttribute="trailing" secondItem="70f-O6-cwn" secondAttribute="trailing" constant="20" id="qNv-Ff-WRo"/>
<constraint firstAttribute="trailing" secondItem="6vt-DL-mVR" secondAttribute="trailing" constant="20" id="suO-dd-E0b"/>
</constraints>
</view>
<point key="canvasLocation" x="102" y="-755.5"/>
</window>
<popUpButton verticalHuggingPriority="750" id="0QT-8E-8VO">
<rect key="frame" x="0.0" y="0.0" width="100" height="26"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="s6D-9M-HpZ" id="OtF-II-ndQ">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
<menu key="menu" id="JRF-FI-xS7">
<items>
<menuItem title="Item 1" state="on" id="s6D-9M-HpZ"/>
<menuItem title="Item 2" id="xTm-Qr-PIp"/>
<menuItem title="Item 3" id="fza-9c-2en"/>
</items>
</menu>
</popUpButtonCell>
<point key="canvasLocation" x="104" y="-542"/>
</popUpButton>
</objects>
</document>

View File

@@ -45,9 +45,6 @@ import RSParser
folder: folder,
folderTreeController: folderTreeController,
delegate: self)
case .redditFeed:
addFeedWindowController = AddRedditFeedWindowController(folderTreeController: folderTreeController,
delegate: self)
}
addFeedWindowController!.runSheetOnWindow(hostWindow)

View File

@@ -11,7 +11,6 @@ import Account
enum AddFeedWindowControllerType {
case webFeed
case redditFeed
}
@MainActor protocol AddFeedWindowControllerDelegate: AnyObject {

View File

@@ -1,213 +0,0 @@
//
// AddRedditFeedWindowController.swift
// NetNewsWire
//
// Created by Maurice Parker on 5/10/20.
// Copyright © 2020 Ranchero Software. All rights reserved.
//
import AppKit
import RSCore
import RSTree
import Articles
import Account
@MainActor final class AddRedditFeedWindowController : NSWindowController, AddFeedWindowController {
@IBOutlet weak var typePopupButton: NSPopUpButton!
@IBOutlet weak var typeDescriptionLabel: NSTextField!
@IBOutlet weak var accountLabel: NSTextField!
@IBOutlet weak var accountPopupButton: NSPopUpButton!
@IBOutlet weak var subredditTextField: NSTextField!
@IBOutlet weak var typeToSortLayoutConstraint: NSLayoutConstraint!
@IBOutlet weak var sortPopupButton: NSPopUpButton!
@IBOutlet var nameTextField: NSTextField!
@IBOutlet var addButton: NSButton!
@IBOutlet var folderPopupButton: NSPopUpButton!
private weak var delegate: AddFeedWindowControllerDelegate?
private var folderTreeController: TreeController!
private var userSelectedSort: RedditSort {
switch sortPopupButton.selectedItem?.tag ?? 0 {
case 0:
return .best
case 1:
return .hot
case 2:
return .new
case 3:
return .top
default:
return .rising
}
}
private var userEnteredSubreddit: String? {
var s = subredditTextField.stringValue
s = s.collapsingWhitespace
if s.isEmpty {
return nil
}
return s
}
private var userEnteredTitle: String? {
var s = nameTextField.stringValue
s = s.collapsingWhitespace
if s.isEmpty {
return nil
}
return s
}
var hostWindow: NSWindow!
convenience init(folderTreeController: TreeController, delegate: AddFeedWindowControllerDelegate?) {
self.init(windowNibName: NSNib.Name("AddRedditFeedSheet"))
self.folderTreeController = folderTreeController
self.delegate = delegate
}
func runSheetOnWindow(_ hostWindow: NSWindow) {
hostWindow.beginSheet(window!) { (returnCode: NSApplication.ModalResponse) -> Void in
}
}
override func windowDidLoad() {
let accountMenu = NSMenu()
for feedProvider in ExtensionPointManager.shared.activeFeedProviders {
if let redditFeedProvider = feedProvider as? RedditFeedProvider {
let accountMenuItem = NSMenuItem()
accountMenuItem.title = redditFeedProvider.title
accountMenu.addItem(accountMenuItem)
}
}
accountPopupButton.menu = accountMenu
folderPopupButton.menu = FolderTreeMenu.createFolderPopupMenu(with: folderTreeController.rootNode, restrictToSpecialAccounts: true)
if let container = AddWebFeedDefaultContainer.defaultContainer {
if let folder = container as? Folder, let account = folder.account {
FolderTreeMenu.select(account: account, folder: folder, in: folderPopupButton)
} else {
if let account = container as? Account {
FolderTreeMenu.select(account: account, folder: nil, in: folderPopupButton)
}
}
}
updateUI()
}
// MARK: Actions
@IBAction func selectedType(_ sender: Any) {
subredditTextField.stringValue = ""
updateUI()
}
@IBAction func cancel(_ sender: Any?) {
cancelSheet()
}
@IBAction func addFeed(_ sender: Any?) {
guard let type = RedditFeedType(rawValue: typePopupButton.selectedItem?.tag ?? 0),
let atUsername = accountPopupButton.selectedItem?.title else { return }
let username = String(atUsername[atUsername.index(atUsername.startIndex, offsetBy: 2)..<atUsername.endIndex])
guard let url = RedditFeedProvider.buildURL(type, username: username, subreddit: userEnteredSubreddit, sort: userSelectedSort) else { return }
let container = selectedContainer()!
AddWebFeedDefaultContainer.saveDefaultContainer(container)
delegate?.addFeedWindowController(self, userEnteredURL: url, userEnteredTitle: userEnteredTitle, container: container)
}
}
extension AddRedditFeedWindowController: NSTextFieldDelegate {
func controlTextDidChange(_ obj: Notification) {
updateUI()
}
}
private extension AddRedditFeedWindowController {
private func updateUI() {
switch typePopupButton.selectedItem?.tag ?? 0 {
case 0:
animateShowHideFields(collapsed: false) {
self.accountLabel.isHidden = false
self.accountPopupButton.isHidden = false
self.typeDescriptionLabel.stringValue = NSLocalizedString("label.text.reddit-front-page", comment: "Your personal Reddit frontpage")
self.subredditTextField.isHidden = true
self.addButton.isEnabled = true
}
case 1:
accountLabel.isHidden = true
accountPopupButton.isHidden = true
typeDescriptionLabel.stringValue = NSLocalizedString("label.text.reddit-best-posts", comment: "The best posts on Reddit for you")
subredditTextField.isHidden = true
addButton.isEnabled = true
animateShowHideFields(collapsed: true)
case 2:
accountLabel.isHidden = true
accountPopupButton.isHidden = true
typeDescriptionLabel.stringValue = NSLocalizedString("label.text.reddit-active-posts", comment: "The most active posts")
subredditTextField.isHidden = true
addButton.isEnabled = true
animateShowHideFields(collapsed: true)
default:
animateShowHideFields(collapsed: false) {
self.accountLabel.isHidden = true
self.accountPopupButton.isHidden = true
if !self.subredditTextField.stringValue.isEmpty {
let subreddit = NSLocalizedString("label.text.posts-from-subreddit.%@", comment: "Posts from r/%@")
self.typeDescriptionLabel.stringValue = String(format: subreddit, self.subredditTextField.stringValue)
} else {
self.typeDescriptionLabel.stringValue = ""
}
self.subredditTextField.placeholderString = NSLocalizedString("label.text.subreddit", comment: "Subreddit")
self.subredditTextField.isHidden = false
self.addButton.isEnabled = !self.subredditTextField.stringValue.isEmpty
}
}
}
func animateShowHideFields(collapsed: Bool, completion: (() -> Void)? = nil) {
let constant: CGFloat = collapsed ? 8 : 39
NSAnimationContext.beginGrouping()
NSAnimationContext.current.duration = 0.2
NSAnimationContext.current.completionHandler = completion
typeToSortLayoutConstraint.animator().constant = constant
NSAnimationContext.endGrouping()
}
func cancelSheet() {
delegate?.addFeedWindowControllerUserDidCancel(self)
}
func selectedContainer() -> Container? {
return folderPopupButton.selectedItem?.representedObject as? Container
}
}

View File

@@ -348,14 +348,8 @@
New Folder... */
"button.title.new-folder" = "New Folder";
/* New Reddit Feed... */
"button.title.new-reddit-feed" = "New Reddit Feed...";
/* New Twitter Feed... */
"button.title.new-twitter-feed" = "New Twitter Feed...";
/* New Web Feed... */
"button.title.new-web-feed" = "New Web Feed...";
"button.title.new-web-feed" = "New Feed...";
/* Next Unread */
"button.title.next-read" = "Next Unread";
@@ -535,9 +529,6 @@
/* (No Text) */
"label.text.no-text" = "(No Text)";
/* Posts from r/%@ */
"label.text.posts-from-subreddit.%@" = "Posts from r/%@";
/* Privacy Policy */
"label.text.privacy-policy" = "Privacy Policy";
@@ -547,15 +538,6 @@
/* Reader View */
"label.text.reader-view" = "Reader View";
/* The most active posts */
"label.text.reddit-active-posts" = "The most active posts";
/* The best posts on Reddit for you */
"label.text.reddit-best-posts" = "The best posts on Reddit for you";
/* Your personal Reddit frontpage */
"label.text.reddit-front-page" = "Your personal Reddit frontpage";
/* Select an account or add a new account by clicking the + button. */
"label.text.select-or-add-account-explainer" = "Select an account or add a new account by clicking the + button.";
@@ -595,9 +577,6 @@
/* Small */
"label.text.small" = "Small";
/* Subreddit */
"label.text.subreddit" = "Subreddit";
/* Thanks */
"label.text.thanks" = "Thanks";

View File

@@ -344,9 +344,6 @@
New Folder... */
"button.title.new-folder" = "New Folder";
/* New Reddit Feed... */
"button.title.new-reddit-feed" = "New Reddit Feed...";
/* New Twitter Feed... */
"button.title.new-twitter-feed" = "New Twitter Feed...";
@@ -528,9 +525,6 @@
/* (No Text) */
"label.text.no-text" = "(No Text)";
/* Posts from r/%@ */
"label.text.posts-from-subreddit.%@" = "Posts from r/%@";
/* Privacy Policy */
"label.text.privacy-policy" = "Privacy Policy";
@@ -540,15 +534,6 @@
/* Reader View */
"label.text.reader-view" = "Reader View";
/* The most active posts */
"label.text.reddit-active-posts" = "The most active posts";
/* The best posts on Reddit for you */
"label.text.reddit-best-posts" = "The best posts on Reddit for you";
/* Your personal Reddit frontpage */
"label.text.reddit-front-page" = "Your personal Reddit frontpage";
/* Select an account or add a new account by clicking the + button. */
"label.text.select-or-add-account-explainer" = "Select an account or add a new account by clicking the + button.";
@@ -588,9 +573,6 @@
/* Small */
"label.text.small" = "Small";
/* Subreddit */
"label.text.subreddit" = "Subreddit";
/* Thanks */
"label.text.thanks" = "Thanks";

View File

@@ -347,14 +347,8 @@
New Folder... */
"button.title.new-folder" = "新建文件夹";
/* New Reddit Feed... */
"button.title.new-reddit-feed" = "添加 Reddit 订阅...";
/* New Twitter Feed... */
"button.title.new-twitter-feed" = "添加 Twitter 订阅...";
/* New Web Feed... */
"button.title.new-web-feed" = "添加 Web 订阅...";
"button.title.new-web-feed" = "添加 订阅...";
/* Next Unread */
"button.title.next-read" = "下一个未读";
@@ -531,9 +525,6 @@
/* (No Text) */
"label.text.no-text" = "(无文本)";
/* Posts from r/%@ */
"label.text.posts-from-subreddit.%@" = "来自 r/%@ 的帖子";
/* Primary Contributors */
"label.text.primary-contributors" = "主要贡献者";
@@ -546,15 +537,6 @@
/* Reader View */
"label.text.reader-view" = "阅读器视图";
/* The most active posts */
"label.text.reddit-active-posts" = "最活跃的帖子";
/* The best posts on Reddit for you */
"label.text.reddit-best-posts" = "为你提供的 Reddit 最佳帖子";
/* Your personal Reddit frontpage */
"label.text.reddit-front-page" = "你的个人 Reddit 主页";
/* Select an account or add a new account by clicking the + button. */
"label.text.select-or-add-account-explainer" = "选择一个账户或通过点击 + 添加新账户。";
@@ -594,9 +576,6 @@
/* Small */
"label.text.small" = "小";
/* Subreddit */
"label.text.subreddit" = "Subreddit";
/* Thanks */
"label.text.thanks" = "鸣谢";

View File

@@ -1,78 +0,0 @@
/* Class = "NSMenuItem"; title = "Subreddit"; ObjectID = "0gG-oY-8yR"; */
"0gG-oY-8yR.title" = "Subreddit";
/* Class = "NSTextFieldCell"; title = "Label"; ObjectID = "5AA-um-oEb"; */
"5AA-um-oEb.title" = "Label";
/* Class = "NSButtonCell"; title = "Add"; ObjectID = "6NK-Ql-drk"; */
"6NK-Ql-drk.title" = "Add";
/* Class = "NSTextFieldCell"; title = "Name:"; ObjectID = "8ca-Qp-BkT"; */
"8ca-Qp-BkT.title" = "Name:";
/* Class = "NSMenuItem"; title = "Popular"; ObjectID = "177-F8-Esj"; */
"177-F8-Esj.title" = "Popular";
/* Class = "NSMenuItem"; title = "Item 2"; ObjectID = "APc-af-7Um"; */
"APc-af-7Um.title" = "Item 2";
/* Class = "NSMenuItem"; title = "Best"; ObjectID = "aub-jN-9Gq"; */
"aub-jN-9Gq.title" = "Best";
/* Class = "NSTextFieldCell"; title = "Sort:"; ObjectID = "cxl-iF-EB5"; */
"cxl-iF-EB5.title" = "Sort:";
/* Class = "NSMenuItem"; title = "All"; ObjectID = "DBZ-RV-FfV"; */
"DBZ-RV-FfV.title" = "All";
/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "Dop-HC-6Q9"; */
"Dop-HC-6Q9.title" = "Cancel";
/* Class = "NSMenuItem"; title = "Top"; ObjectID = "fuh-g6-Ro7"; */
"fuh-g6-Ro7.title" = "Top";
/* Class = "NSMenuItem"; title = "Item 3"; ObjectID = "fza-9c-2en"; */
"fza-9c-2en.title" = "Item 3";
/* Class = "NSMenuItem"; title = "Item 3"; ObjectID = "j09-9b-bGs"; */
"j09-9b-bGs.title" = "Item 3";
/* Class = "NSMenuItem"; title = "Hot"; ObjectID = "KA5-sN-dho"; */
"KA5-sN-dho.title" = "Hot";
/* Class = "NSMenuItem"; title = "New"; ObjectID = "kUE-J5-iAE"; */
"kUE-J5-iAE.title" = "New";
/* Class = "NSTextFieldCell"; title = "Folder:"; ObjectID = "Kwx-7B-CIu"; */
"Kwx-7B-CIu.title" = "Folder:";
/* Class = "NSTextFieldCell"; title = "Account:"; ObjectID = "LFf-JL-Ahl"; */
"LFf-JL-Ahl.title" = "Account:";
/* Class = "NSTextFieldCell"; placeholderString = "Optional"; ObjectID = "pLP-pL-5R5"; */
"pLP-pL-5R5.placeholderString" = "Optional";
/* Class = "NSTextFieldCell"; title = "Type:"; ObjectID = "qto-IO-a1j"; */
"qto-IO-a1j.title" = "Type:";
/* Class = "NSWindow"; title = "Add Reddit Feed"; ObjectID = "QvC-M9-y7g"; */
"QvC-M9-y7g.title" = "Add Reddit Feed";
/* Class = "NSMenuItem"; title = "Item 1"; ObjectID = "s6D-9M-HpZ"; */
"s6D-9M-HpZ.title" = "Item 1";
/* Class = "NSMenuItem"; title = "u/username"; ObjectID = "Tfk-aQ-RKg"; */
"Tfk-aQ-RKg.title" = "u/username";
/* Class = "NSMenuItem"; title = "Item 1"; ObjectID = "tLJ-zY-CcZ"; */
"tLJ-zY-CcZ.title" = "Item 1";
/* Class = "NSMenuItem"; title = "Home"; ObjectID = "uE6-1a-w5g"; */
"uE6-1a-w5g.title" = "Home";
/* Class = "NSMenuItem"; title = "Rising"; ObjectID = "XIL-2V-O3A"; */
"XIL-2V-O3A.title" = "Rising";
/* Class = "NSMenuItem"; title = "Item 2"; ObjectID = "xTm-Qr-PIp"; */
"xTm-Qr-PIp.title" = "Item 2";

View File

@@ -1,78 +0,0 @@
/* Class = "NSMenuItem"; title = "Subreddit"; ObjectID = "0gG-oY-8yR"; */
"0gG-oY-8yR.title" = "Subreddit";
/* Class = "NSTextFieldCell"; title = "Label"; ObjectID = "5AA-um-oEb"; */
"5AA-um-oEb.title" = "描述";
/* Class = "NSButtonCell"; title = "Add"; ObjectID = "6NK-Ql-drk"; */
"6NK-Ql-drk.title" = "添加";
/* Class = "NSTextFieldCell"; title = "Name:"; ObjectID = "8ca-Qp-BkT"; */
"8ca-Qp-BkT.title" = "名称:";
/* Class = "NSMenuItem"; title = "Popular"; ObjectID = "177-F8-Esj"; */
"177-F8-Esj.title" = "Popular";
/* Class = "NSMenuItem"; title = "Item 2"; ObjectID = "APc-af-7Um"; */
"APc-af-7Um.title" = "Item 2";
/* Class = "NSMenuItem"; title = "Best"; ObjectID = "aub-jN-9Gq"; */
"aub-jN-9Gq.title" = "Best";
/* Class = "NSTextFieldCell"; title = "Sort:"; ObjectID = "cxl-iF-EB5"; */
"cxl-iF-EB5.title" = "分类:";
/* Class = "NSMenuItem"; title = "All"; ObjectID = "DBZ-RV-FfV"; */
"DBZ-RV-FfV.title" = "All";
/* Class = "NSButtonCell"; title = "Cancel"; ObjectID = "Dop-HC-6Q9"; */
"Dop-HC-6Q9.title" = "取消";
/* Class = "NSMenuItem"; title = "Top"; ObjectID = "fuh-g6-Ro7"; */
"fuh-g6-Ro7.title" = "Top";
/* Class = "NSMenuItem"; title = "Item 3"; ObjectID = "fza-9c-2en"; */
"fza-9c-2en.title" = "Item 3";
/* Class = "NSMenuItem"; title = "Item 3"; ObjectID = "j09-9b-bGs"; */
"j09-9b-bGs.title" = "Item 3";
/* Class = "NSMenuItem"; title = "Hot"; ObjectID = "KA5-sN-dho"; */
"KA5-sN-dho.title" = "Hot";
/* Class = "NSMenuItem"; title = "New"; ObjectID = "kUE-J5-iAE"; */
"kUE-J5-iAE.title" = "New";
/* Class = "NSTextFieldCell"; title = "Folder:"; ObjectID = "Kwx-7B-CIu"; */
"Kwx-7B-CIu.title" = "文件夹:";
/* Class = "NSTextFieldCell"; title = "Account:"; ObjectID = "LFf-JL-Ahl"; */
"LFf-JL-Ahl.title" = "账户:";
/* Class = "NSTextFieldCell"; placeholderString = "Optional"; ObjectID = "pLP-pL-5R5"; */
"pLP-pL-5R5.placeholderString" = "可选";
/* Class = "NSTextFieldCell"; title = "Type:"; ObjectID = "qto-IO-a1j"; */
"qto-IO-a1j.title" = "类型:";
/* Class = "NSWindow"; title = "Add Reddit Feed"; ObjectID = "QvC-M9-y7g"; */
"QvC-M9-y7g.title" = "添加 Reddit 订阅";
/* Class = "NSMenuItem"; title = "Item 1"; ObjectID = "s6D-9M-HpZ"; */
"s6D-9M-HpZ.title" = "Item 1";
/* Class = "NSMenuItem"; title = "u/username"; ObjectID = "Tfk-aQ-RKg"; */
"Tfk-aQ-RKg.title" = "u/username";
/* Class = "NSMenuItem"; title = "Item 1"; ObjectID = "tLJ-zY-CcZ"; */
"tLJ-zY-CcZ.title" = "Item 1";
/* Class = "NSMenuItem"; title = "Home"; ObjectID = "uE6-1a-w5g"; */
"uE6-1a-w5g.title" = "Home";
/* Class = "NSMenuItem"; title = "Rising"; ObjectID = "XIL-2V-O3A"; */
"XIL-2V-O3A.title" = "Rising";
/* Class = "NSMenuItem"; title = "Item 2"; ObjectID = "xTm-Qr-PIp"; */
"xTm-Qr-PIp.title" = "Item 2";

View File

@@ -138,10 +138,6 @@
513277662590FC780064F1E7 /* Secrets in Embed Frameworks */ = {isa = PBXBuildFile; productRef = 51C4CFF524D37DD500AF9874 /* Secrets */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
5132778C2590FF1E0064F1E7 /* RSCore in Frameworks */ = {isa = PBXBuildFile; productRef = 5132778B2590FF1E0064F1E7 /* RSCore */; };
5132779F2591034D0064F1E7 /* icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 5132779E2591034D0064F1E7 /* icon.icns */; };
51333D1624685D2E00EB5C91 /* AddRedditFeedWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51333D1524685D2E00EB5C91 /* AddRedditFeedWindowController.swift */; };
51333D1724685D2E00EB5C91 /* AddRedditFeedWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51333D1524685D2E00EB5C91 /* AddRedditFeedWindowController.swift */; };
51333D3B2468615D00EB5C91 /* AddRedditFeedSheet.xib in Resources */ = {isa = PBXBuildFile; fileRef = 51333D392468615D00EB5C91 /* AddRedditFeedSheet.xib */; };
51333D3C2468615D00EB5C91 /* AddRedditFeedSheet.xib in Resources */ = {isa = PBXBuildFile; fileRef = 51333D392468615D00EB5C91 /* AddRedditFeedSheet.xib */; };
5137C2E426F3F52D009EFEDB /* Sepia.nnwtheme in Resources */ = {isa = PBXBuildFile; fileRef = 5137C2E326F3F52D009EFEDB /* Sepia.nnwtheme */; };
5137C2E526F3F52D009EFEDB /* Sepia.nnwtheme in Resources */ = {isa = PBXBuildFile; fileRef = 5137C2E326F3F52D009EFEDB /* Sepia.nnwtheme */; };
5137C2E626F3F52D009EFEDB /* Sepia.nnwtheme in Resources */ = {isa = PBXBuildFile; fileRef = 5137C2E326F3F52D009EFEDB /* Sepia.nnwtheme */; };
@@ -1210,8 +1206,6 @@
51314706235C41FC00387FDC /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.intentdefinition; name = Base; path = Base.lproj/Intents.intentdefinition; sourceTree = "<group>"; };
51314714235C420900387FDC /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Intents.strings; sourceTree = "<group>"; };
5132779E2591034D0064F1E7 /* icon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = icon.icns; sourceTree = "<group>"; };
51333D1524685D2E00EB5C91 /* AddRedditFeedWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddRedditFeedWindowController.swift; sourceTree = "<group>"; };
51333D3A2468615D00EB5C91 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Mac/Base.lproj/AddRedditFeedSheet.xib; sourceTree = SOURCE_ROOT; };
5137C2E326F3F52D009EFEDB /* Sepia.nnwtheme */ = {isa = PBXFileReference; lastKnownFileType = wrapper; path = Sepia.nnwtheme; sourceTree = "<group>"; };
5137C2E926F63AE6009EFEDB /* ArticleThemeImporter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ArticleThemeImporter.swift; sourceTree = "<group>"; };
51386A8D25673276005F3762 /* AccountCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountCell.swift; sourceTree = "<group>"; };
@@ -1536,7 +1530,6 @@
C47370262A232A0100E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Main.strings"; sourceTree = "<group>"; };
C47370272A232A0100E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "../zh-Hans.lproj/MainWindow.strings"; sourceTree = "<group>"; };
C47370282A232A0100E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "../../../zh-Hans.lproj/RenameSheet.strings"; sourceTree = "<group>"; };
C47370292A232A0200E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "../zh-Hans.lproj/AddRedditFeedSheet.strings"; sourceTree = "<group>"; };
C473702A2A232A0200E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "../zh-Hans.lproj/AddWebFeedSheet.strings"; sourceTree = "<group>"; };
C473702B2A232A0200E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "../../zh-Hans.lproj/AddFolderSheet.strings"; sourceTree = "<group>"; };
C473702C2A232A0200E77890 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "../zh-Hans.lproj/Preferences.strings"; sourceTree = "<group>"; };
@@ -1675,7 +1668,6 @@
DFB616AE29653A0600A359AB /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "en-GB.lproj/Main.strings"; sourceTree = "<group>"; };
DFB616AF29653A0600A359AB /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "../en-GB.lproj/MainWindow.strings"; sourceTree = "<group>"; };
DFB616B029653A0600A359AB /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "../../../en-GB.lproj/RenameSheet.strings"; sourceTree = "<group>"; };
DFB616B129653A0600A359AB /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "../en-GB.lproj/AddRedditFeedSheet.strings"; sourceTree = "<group>"; };
DFB616B329653A0600A359AB /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "../en-GB.lproj/AddWebFeedSheet.strings"; sourceTree = "<group>"; };
DFB616B429653A0600A359AB /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "../../en-GB.lproj/AddFolderSheet.strings"; sourceTree = "<group>"; };
DFB616B529653A0600A359AB /* en-GB */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "en-GB"; path = "../en-GB.lproj/Preferences.strings"; sourceTree = "<group>"; };
@@ -2457,8 +2449,6 @@
children = (
849A97511ED9EAC0007D329B /* AddFeedController.swift */,
51A052CD244FB9D6006C2024 /* AddFeedWIndowController.swift */,
51333D392468615D00EB5C91 /* AddRedditFeedSheet.xib */,
51333D1524685D2E00EB5C91 /* AddRedditFeedWindowController.swift */,
848363002262A3BC00DA1D35 /* AddWebFeedSheet.xib */,
849A97521ED9EAC0007D329B /* AddWebFeedWindowController.swift */,
51EC114B2149FE3300B296E3 /* FolderTreeMenu.swift */,
@@ -3582,7 +3572,6 @@
DDF9E1D828EDF2FC000BC355 /* notificationSoundBlip.mp3 in Resources */,
DF5124D42A230FE400BBAB1F /* AccountsAddCloudKit.xib in Resources */,
65ED405E235DEF6C0081F399 /* DefaultFeeds.opml in Resources */,
51333D3C2468615D00EB5C91 /* AddRedditFeedSheet.xib in Resources */,
65ED405F235DEF6C0081F399 /* Preferences.storyboard in Resources */,
65ED4061235DEF6C0081F399 /* Assets.xcassets in Resources */,
65ED4063235DEF6C0081F399 /* RenameSheet.xib in Resources */,
@@ -3700,7 +3689,6 @@
8483630E2262A3FE00DA1D35 /* MainWindow.storyboard in Resources */,
DF5124F12A2310A100BBAB1F /* AccountsReaderAPI.xib in Resources */,
49F40DF82335B71000552BF4 /* newsfoot.js in Resources */,
51333D3B2468615D00EB5C91 /* AddRedditFeedSheet.xib in Resources */,
DF5124EB2A23109900BBAB1F /* AccountsNewsBlur.xib in Resources */,
5103A9982421643300410853 /* blank.html in Resources */,
DF93DB2B296A319000586C0E /* Localizable.stringsdict in Resources */,
@@ -4047,7 +4035,6 @@
65ED3FD4235DEF6C0081F399 /* Article+Scriptability.swift in Sources */,
515A5172243E802B0089E588 /* ExtensionPointDetailViewController.swift in Sources */,
65ED3FD5235DEF6C0081F399 /* SmartFeed.swift in Sources */,
51333D1724685D2E00EB5C91 /* AddRedditFeedWindowController.swift in Sources */,
65ED3FD6235DEF6C0081F399 /* MarkStatusCommand.swift in Sources */,
DFBB4EAD2951BC0200639228 /* NNWThemeDocument.swift in Sources */,
5183CFB0254C78C8006B83A5 /* EnableExtensionPointView.swift in Sources */,
@@ -4542,7 +4529,6 @@
178A9F9D2549449F00AB7E9D /* AddAccountsView.swift in Sources */,
51C4CFF024D37D1F00AF9874 /* Secrets.swift in Sources */,
849A976D1ED9EBC8007D329B /* TimelineTableView.swift in Sources */,
51333D1624685D2E00EB5C91 /* AddRedditFeedWindowController.swift in Sources */,
84D52E951FE588BB00D14F5B /* DetailStatusBarView.swift in Sources */,
D5E4CC64202C1AC1009B4FFC /* MainWindowController+Scriptability.swift in Sources */,
51A052CE244FB9D7006C2024 /* AddFeedWIndowController.swift in Sources */,
@@ -4693,16 +4679,6 @@
name = Intents.intentdefinition;
sourceTree = "<group>";
};
51333D392468615D00EB5C91 /* AddRedditFeedSheet.xib */ = {
isa = PBXVariantGroup;
children = (
51333D3A2468615D00EB5C91 /* Base */,
DFB616B129653A0600A359AB /* en-GB */,
C47370292A232A0200E77890 /* zh-Hans */,
);
name = AddRedditFeedSheet.xib;
sourceTree = "<group>";
};
513C5CEA232571C2003D4054 /* MainInterface.storyboard */ = {
isa = PBXVariantGroup;
children = (

View File

@@ -109,10 +109,6 @@ struct AppAssets {
return UIImage(systemName: "chevron.right", withConfiguration: UIImage.SymbolConfiguration(pointSize: size, weight: weight))!
}
static var contextMenuReddit: UIImage = {
return UIImage(named: "contextMenuReddit")!
}()
static var copyImage: UIImage = {
return UIImage(systemName: "doc.on.doc")!
}()
@@ -201,10 +197,6 @@ struct AppAssets {
return UIColor(named: "primaryAccentColor")!
}
static var redditOriginal: UIImage = {
return UIImage(named: "redditWhite")!.withRenderingMode(.alwaysOriginal).withTintColor(.secondaryLabel)
}()
static var safariImage: UIImage = {
return UIImage(systemName: "safari")!
}()

View File

@@ -627,29 +627,18 @@ class MasterFeedViewController: UITableViewController, UndoableCommandRunner, Ma
func configureContextMenu(_: Any? = nil) {
/*
Context Menu Order:
1. Add Web Feed
2. Add Reddit Feed
1. Add Feed
3. Add Folder
*/
var menuItems: [UIAction] = []
let addWebFeedActionTitle = NSLocalizedString("button.title.add-web-feed", comment: "Add Web Feed")
let addWebFeedActionTitle = NSLocalizedString("button.title.add-web-feed", comment: "Add Feed")
let addWebFeedAction = UIAction(title: addWebFeedActionTitle, image: AppAssets.plus) { _ in
self.coordinator.showAddWebFeed()
}
menuItems.append(addWebFeedAction)
if AccountManager.shared.activeAccounts.contains(where: { $0.type == .onMyMac || $0.type == .cloudKit }) {
if ExtensionPointManager.shared.isRedditEnabled {
let addRedditFeedActionTitle = NSLocalizedString("button.title.add-reddit-feed", comment: "Add Reddit Feed")
let addRedditFeedAction = UIAction(title: addRedditFeedActionTitle, image: AppAssets.contextMenuReddit.tinted(color: .label)) { _ in
self.coordinator.showAddRedditFeed()
}
menuItems.append(addRedditFeedAction)
}
}
let addWebFolderActionTitle = NSLocalizedString("button.title.add-folder", comment: "Add Folder")
let addWebFolderAction = UIAction(title: addWebFolderActionTitle, image: AppAssets.folderOutlinePlus) { _ in
self.coordinator.showAddFolder()

View File

@@ -1215,13 +1215,6 @@ final class SceneCoordinator: NSObject, UndoableCommandRunner, Logging {
masterFeedViewController.present(addNavViewController, animated: true)
}
func showAddRedditFeed() {
let addNavViewController = UIStoryboard.redditAdd.instantiateInitialViewController() as! UINavigationController
addNavViewController.modalPresentationStyle = .formSheet
addNavViewController.preferredContentSize = AddFeedViewController.preferredContentSizeForFormSheetDisplay
masterFeedViewController.present(addNavViewController, animated: true)
}
func showAddFolder() {
let addNavViewController = UIStoryboard.add.instantiateViewController(withIdentifier: "AddFolderViewControllerNav") as! UINavigationController
addNavViewController.modalPresentationStyle = .formSheet