mirror of
https://github.com/Ranchero-Software/NetNewsWire
synced 2025-08-12 06:26:36 +00:00
Continue removing Reddit references.
This commit is contained in:
@@ -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>
|
||||
@@ -45,9 +45,6 @@ import RSParser
|
||||
folder: folder,
|
||||
folderTreeController: folderTreeController,
|
||||
delegate: self)
|
||||
case .redditFeed:
|
||||
addFeedWindowController = AddRedditFeedWindowController(folderTreeController: folderTreeController,
|
||||
delegate: self)
|
||||
}
|
||||
|
||||
addFeedWindowController!.runSheetOnWindow(hostWindow)
|
||||
|
||||
@@ -11,7 +11,6 @@ import Account
|
||||
|
||||
enum AddFeedWindowControllerType {
|
||||
case webFeed
|
||||
case redditFeed
|
||||
}
|
||||
|
||||
@MainActor protocol AddFeedWindowControllerDelegate: AnyObject {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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";
|
||||
|
||||
|
||||
@@ -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";
|
||||
|
||||
|
||||
@@ -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" = "鸣谢";
|
||||
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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 = (
|
||||
|
||||
@@ -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")!
|
||||
}()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user