Go back to using storyboard for Feed Directory.
This commit is contained in:
parent
7ae2345073
commit
99f2c01a04
@ -38,7 +38,6 @@
|
||||
846E77411F6EF6A100A165E2 /* Database.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 846E77211F6EF5D100A165E2 /* Database.framework */; };
|
||||
846E77421F6EF6A100A165E2 /* Database.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 846E77211F6EF5D100A165E2 /* Database.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
84702AA41FA27AC0006B8943 /* MarkReadOrUnreadCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84702AA31FA27AC0006B8943 /* MarkReadOrUnreadCommand.swift */; };
|
||||
847C4C9C1FF44F790090D517 /* FeedListSplitViewDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 847C4C9B1FF44F790090D517 /* FeedListSplitViewDelegate.swift */; };
|
||||
848F6AE51FC29CFB002D422E /* FaviconDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 848F6AE41FC29CFA002D422E /* FaviconDownloader.swift */; };
|
||||
849A97431ED9EAA9007D329B /* AddFolderWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849A97421ED9EAA9007D329B /* AddFolderWindowController.swift */; };
|
||||
849A97531ED9EAC0007D329B /* AddFeedController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849A97511ED9EAC0007D329B /* AddFeedController.swift */; };
|
||||
@ -99,13 +98,13 @@
|
||||
84B06FFE1ED3818D00F0B54B /* RSTree.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 84B06FFA1ED3818000F0B54B /* RSTree.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
84B0700A1ED3822600F0B54B /* RSTextDrawing.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84B070071ED3821900F0B54B /* RSTextDrawing.framework */; };
|
||||
84B0700B1ED3822600F0B54B /* RSTextDrawing.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 84B070071ED3821900F0B54B /* RSTextDrawing.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
84B2FAA41FF47BAC009C4878 /* FeedListWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 84B2FAA31FF47BAC009C4878 /* FeedListWindow.xib */; };
|
||||
84B99C671FAE35E600ECDEDB /* FeedListTreeControllerDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84B99C661FAE35E600ECDEDB /* FeedListTreeControllerDelegate.swift */; };
|
||||
84B99C691FAE36B800ECDEDB /* FeedListFolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84B99C681FAE36B800ECDEDB /* FeedListFolder.swift */; };
|
||||
84B99C6B1FAE370B00ECDEDB /* FeedListFeed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84B99C6A1FAE370B00ECDEDB /* FeedListFeed.swift */; };
|
||||
84B99C9D1FAE83C600ECDEDB /* DeleteFromSidebarCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84B99C9C1FAE83C600ECDEDB /* DeleteFromSidebarCommand.swift */; };
|
||||
84BB4B771F11753300858766 /* Data.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84BB4B681F1174D400858766 /* Data.framework */; };
|
||||
84BB4B781F11753300858766 /* Data.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 84BB4B681F1174D400858766 /* Data.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
84C12A151FF5B0080009A267 /* FeedList.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 84C12A141FF5B0080009A267 /* FeedList.storyboard */; };
|
||||
84CC88181FE59CBF00644329 /* SmartFeedsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84CC88171FE59CBF00644329 /* SmartFeedsController.swift */; };
|
||||
84D52E951FE588BB00D14F5B /* DetailStatusBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84D52E941FE588BB00D14F5B /* DetailStatusBarView.swift */; };
|
||||
84DAEE301F86CAFE0058304B /* OPMLImporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84DAEE2F1F86CAFE0058304B /* OPMLImporter.swift */; };
|
||||
@ -444,7 +443,6 @@
|
||||
846E77161F6EF5D000A165E2 /* Database.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Database.xcodeproj; path = Frameworks/Database/Database.xcodeproj; sourceTree = "<group>"; };
|
||||
846E77301F6EF5D600A165E2 /* Account.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Account.xcodeproj; path = Frameworks/Account/Account.xcodeproj; sourceTree = "<group>"; };
|
||||
84702AA31FA27AC0006B8943 /* MarkReadOrUnreadCommand.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MarkReadOrUnreadCommand.swift; sourceTree = "<group>"; };
|
||||
847C4C9B1FF44F790090D517 /* FeedListSplitViewDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedListSplitViewDelegate.swift; sourceTree = "<group>"; };
|
||||
848F6AE41FC29CFA002D422E /* FaviconDownloader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FaviconDownloader.swift; sourceTree = "<group>"; };
|
||||
849A97421ED9EAA9007D329B /* AddFolderWindowController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AddFolderWindowController.swift; sourceTree = "<group>"; };
|
||||
849A97511ED9EAC0007D329B /* AddFeedController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AddFeedController.swift; path = AddFeed/AddFeedController.swift; sourceTree = "<group>"; };
|
||||
@ -503,12 +501,12 @@
|
||||
84B06FE01ED3803200F0B54B /* RSFeedFinder.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RSFeedFinder.xcodeproj; path = Frameworks/RSFeedFinder/RSFeedFinder.xcodeproj; sourceTree = "<group>"; };
|
||||
84B06FF41ED3818000F0B54B /* RSTree.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RSTree.xcodeproj; path = Frameworks/RSTree/RSTree.xcodeproj; sourceTree = "<group>"; };
|
||||
84B070011ED3821800F0B54B /* RSTextDrawing.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RSTextDrawing.xcodeproj; path = Frameworks/RSTextDrawing/RSTextDrawing.xcodeproj; sourceTree = "<group>"; };
|
||||
84B2FAA31FF47BAC009C4878 /* FeedListWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = FeedListWindow.xib; sourceTree = "<group>"; };
|
||||
84B99C661FAE35E600ECDEDB /* FeedListTreeControllerDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedListTreeControllerDelegate.swift; sourceTree = "<group>"; };
|
||||
84B99C681FAE36B800ECDEDB /* FeedListFolder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedListFolder.swift; sourceTree = "<group>"; };
|
||||
84B99C6A1FAE370B00ECDEDB /* FeedListFeed.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedListFeed.swift; sourceTree = "<group>"; };
|
||||
84B99C9C1FAE83C600ECDEDB /* DeleteFromSidebarCommand.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeleteFromSidebarCommand.swift; sourceTree = "<group>"; };
|
||||
84BB4B611F1174D400858766 /* Data.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Data.xcodeproj; path = Frameworks/Data/Data.xcodeproj; sourceTree = "<group>"; };
|
||||
84C12A141FF5B0080009A267 /* FeedList.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = FeedList.storyboard; sourceTree = "<group>"; };
|
||||
84CBDDAE1FD3674C005A61AA /* Technotes */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Technotes; sourceTree = "<group>"; };
|
||||
84CC88171FE59CBF00644329 /* SmartFeedsController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SmartFeedsController.swift; sourceTree = "<group>"; };
|
||||
84D52E941FE588BB00D14F5B /* DetailStatusBarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailStatusBarView.swift; sourceTree = "<group>"; };
|
||||
@ -789,9 +787,8 @@
|
||||
849A978B1ED9EE4D007D329B /* Feed List */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
84B2FAA31FF47BAC009C4878 /* FeedListWindow.xib */,
|
||||
84C12A141FF5B0080009A267 /* FeedList.storyboard */,
|
||||
849A978C1ED9EE4D007D329B /* FeedListWindowController.swift */,
|
||||
847C4C9B1FF44F790090D517 /* FeedListSplitViewDelegate.swift */,
|
||||
84F204CD1FAACB660076E152 /* FeedListViewController.swift */,
|
||||
84F204DD1FAACB8B0076E152 /* FeedListTimelineViewController.swift */,
|
||||
84513F8F1FAA63950023A1A9 /* FeedListControlsView.swift */,
|
||||
@ -1366,7 +1363,7 @@
|
||||
842E45E71ED8C747000A8B52 /* DB5.plist in Resources */,
|
||||
844B5B691FEA20DF00C7C76A /* SidebarKeyboardShortcuts.plist in Resources */,
|
||||
849A97AC1ED9F9BC007D329B /* AddFolderSheet.xib in Resources */,
|
||||
84B2FAA41FF47BAC009C4878 /* FeedListWindow.xib in Resources */,
|
||||
84C12A151FF5B0080009A267 /* FeedList.storyboard in Resources */,
|
||||
84E95CF71FABB3C800552D99 /* FeedList.plist in Resources */,
|
||||
849C64681ED37A5D003D8FC0 /* Assets.xcassets in Resources */,
|
||||
849C646B1ED37A5D003D8FC0 /* Main.storyboard in Resources */,
|
||||
@ -1444,7 +1441,6 @@
|
||||
84B99C6B1FAE370B00ECDEDB /* FeedListFeed.swift in Sources */,
|
||||
842611A01FCB72600086A189 /* FeaturedImageDownloader.swift in Sources */,
|
||||
849A97781ED9EC04007D329B /* TimelineCellLayout.swift in Sources */,
|
||||
847C4C9C1FF44F790090D517 /* FeedListSplitViewDelegate.swift in Sources */,
|
||||
849A976C1ED9EBC8007D329B /* TimelineTableRowView.swift in Sources */,
|
||||
849A977B1ED9EC04007D329B /* UnreadIndicatorView.swift in Sources */,
|
||||
84B99C9D1FAE83C600ECDEDB /* DeleteFromSidebarCommand.swift in Sources */,
|
||||
|
@ -267,7 +267,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserInterfaceValidations,
|
||||
@IBAction func showFeedList(_ sender: AnyObject) {
|
||||
|
||||
if feedListWindowController == nil {
|
||||
feedListWindowController = FeedListWindowController()
|
||||
feedListWindowController = windowControllerWithName("FeedList")
|
||||
}
|
||||
feedListWindowController!.showWindow(self)
|
||||
}
|
||||
|
@ -215,7 +215,7 @@
|
||||
</windowController>
|
||||
<customObject id="Oky-zY-oP4" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-520" y="38"/>
|
||||
<point key="canvasLocation" x="-666" y="-124"/>
|
||||
</scene>
|
||||
<!--Split View Controller-->
|
||||
<scene sceneID="vhK-r2-b3N">
|
||||
|
370
Evergreen/FeedList/FeedList.storyboard
Normal file
370
Evergreen/FeedList/FeedList.storyboard
Normal file
@ -0,0 +1,370 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="13771" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" initialViewController="z5E-aV-xMb">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="13771"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--Window Controller-->
|
||||
<scene sceneID="joN-Oe-nep">
|
||||
<objects>
|
||||
<windowController showSeguePresentationStyle="single" id="z5E-aV-xMb" sceneMemberID="viewController">
|
||||
<window key="window" identifier="feedDirectoryWindow" title="Feed Directory" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" releasedWhenClosed="NO" showsToolbarButton="NO" visibleAtLaunch="NO" frameAutosaveName="FeedDirectoryWindow" animationBehavior="default" id="Ty3-Oi-cUp">
|
||||
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
|
||||
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
|
||||
<rect key="contentRect" x="425" y="461" width="480" height="600"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1417"/>
|
||||
<value key="minSize" type="size" width="480" height="480"/>
|
||||
<value key="maxSize" type="size" width="768" height="2048"/>
|
||||
<contentBorderThickness minY="32"/>
|
||||
<connections>
|
||||
<outlet property="delegate" destination="z5E-aV-xMb" id="lfa-LR-PLf"/>
|
||||
</connections>
|
||||
</window>
|
||||
<connections>
|
||||
<segue destination="ju5-jM-WKk" kind="relationship" relationship="window.shadowedContentViewController" id="vHc-9b-sEw"/>
|
||||
</connections>
|
||||
</windowController>
|
||||
<customObject id="l74-pi-xxL" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-828" y="-22"/>
|
||||
</scene>
|
||||
<!--View Controller-->
|
||||
<scene sceneID="b5P-LI-56y">
|
||||
<objects>
|
||||
<viewController id="ju5-jM-WKk" sceneMemberID="viewController">
|
||||
<view key="view" id="46a-ok-dQm">
|
||||
<rect key="frame" x="0.0" y="0.0" width="480" height="270"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<containerView translatesAutoresizingMaskIntoConstraints="NO" id="YFk-Bu-Nnc">
|
||||
<rect key="frame" x="0.0" y="32" width="480" height="238"/>
|
||||
<connections>
|
||||
<segue destination="d1q-Ba-ygg" kind="embed" id="07r-H9-ueY"/>
|
||||
</connections>
|
||||
</containerView>
|
||||
<customView translatesAutoresizingMaskIntoConstraints="NO" id="xKq-9P-ibo" customClass="FeedListControlsView" customModule="Evergreen" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="480" height="32"/>
|
||||
<subviews>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Bv8-Eq-0cT">
|
||||
<rect key="frame" x="20" y="3" width="120" height="25"/>
|
||||
<buttonCell key="cell" type="roundTextured" title="Add to Feeds" bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="0gj-Cw-KCE">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Ohy-a3-XkT">
|
||||
<rect key="frame" x="148" y="3" width="120" height="25"/>
|
||||
<buttonCell key="cell" type="roundTextured" title="Open Home Page" bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="hom-If-fbd">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="Ohy-a3-XkT" firstAttribute="width" secondItem="Bv8-Eq-0cT" secondAttribute="width" id="1Kl-sg-GHU"/>
|
||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="Ohy-a3-XkT" secondAttribute="trailing" constant="20" symbolic="YES" id="2Py-y7-lRy"/>
|
||||
<constraint firstItem="Ohy-a3-XkT" firstAttribute="leading" secondItem="Bv8-Eq-0cT" secondAttribute="trailing" constant="8" symbolic="YES" id="5Og-09-12P"/>
|
||||
<constraint firstItem="Ohy-a3-XkT" firstAttribute="centerY" secondItem="xKq-9P-ibo" secondAttribute="centerY" id="7Yu-Ab-dfe"/>
|
||||
<constraint firstItem="Bv8-Eq-0cT" firstAttribute="leading" secondItem="xKq-9P-ibo" secondAttribute="leading" constant="20" symbolic="YES" id="Iph-MK-E6k"/>
|
||||
<constraint firstAttribute="height" constant="32" id="dH4-pR-OmT"/>
|
||||
<constraint firstItem="Bv8-Eq-0cT" firstAttribute="centerY" secondItem="xKq-9P-ibo" secondAttribute="centerY" id="qgr-sL-IFQ"/>
|
||||
</constraints>
|
||||
</customView>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="YFk-Bu-Nnc" firstAttribute="top" secondItem="46a-ok-dQm" secondAttribute="top" id="71x-bl-RZk"/>
|
||||
<constraint firstItem="YFk-Bu-Nnc" firstAttribute="leading" secondItem="46a-ok-dQm" secondAttribute="leading" id="7lT-YG-EN5"/>
|
||||
<constraint firstAttribute="trailing" secondItem="YFk-Bu-Nnc" secondAttribute="trailing" id="LZY-8D-poG"/>
|
||||
<constraint firstAttribute="trailing" secondItem="xKq-9P-ibo" secondAttribute="trailing" id="cYk-h2-Zcf"/>
|
||||
<constraint firstAttribute="bottom" secondItem="xKq-9P-ibo" secondAttribute="bottom" id="uIU-wj-1Wk"/>
|
||||
<constraint firstItem="xKq-9P-ibo" firstAttribute="leading" secondItem="46a-ok-dQm" secondAttribute="leading" id="vhS-uE-V8H"/>
|
||||
<constraint firstItem="xKq-9P-ibo" firstAttribute="top" secondItem="YFk-Bu-Nnc" secondAttribute="bottom" id="yB2-aB-byH"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</viewController>
|
||||
<customObject id="ANr-fb-gv3" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-989" y="535"/>
|
||||
</scene>
|
||||
<!--Split View Controller-->
|
||||
<scene sceneID="E8t-Vq-sKF">
|
||||
<objects>
|
||||
<splitViewController identifier="FeedListSplitViewRestorationID" storyboardIdentifier="FeedListSplitViewStoryboardID" showSeguePresentationStyle="single" id="d1q-Ba-ygg" sceneMemberID="viewController">
|
||||
<splitViewItems>
|
||||
<splitViewItem canCollapse="YES" holdingPriority="260" behavior="sidebar" id="ae2-iY-wHE"/>
|
||||
<splitViewItem holdingPriority="255" behavior="contentList" id="GY8-gt-RfC"/>
|
||||
</splitViewItems>
|
||||
<splitView key="splitView" identifier="feedListSplitViewIdentifier" autosaveName="FeedListSplitViewAutosave" dividerStyle="thin" vertical="YES" id="hA6-5F-1ud">
|
||||
<rect key="frame" x="0.0" y="0.0" width="450" height="300"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<connections>
|
||||
<outlet property="delegate" destination="d1q-Ba-ygg" id="sZG-eZ-Txl"/>
|
||||
</connections>
|
||||
</splitView>
|
||||
<connections>
|
||||
<outlet property="splitView" destination="hA6-5F-1ud" id="Arf-Fq-2x6"/>
|
||||
<segue destination="QX3-Wg-cdZ" kind="relationship" relationship="splitItems" id="zwC-8l-e4m"/>
|
||||
<segue destination="5oM-Nv-I7I" kind="relationship" relationship="splitItems" id="d9f-34-ExA"/>
|
||||
</connections>
|
||||
</splitViewController>
|
||||
<customObject id="RVJ-c8-HXT" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-974" y="962"/>
|
||||
</scene>
|
||||
<!--Feed List View Controller-->
|
||||
<scene sceneID="TKm-CD-zMs">
|
||||
<objects>
|
||||
<viewController id="QX3-Wg-cdZ" customClass="FeedListViewController" customModule="Evergreen" customModuleProvider="target" sceneMemberID="viewController">
|
||||
<view key="view" id="vp3-VV-Mzw">
|
||||
<rect key="frame" x="0.0" y="0.0" width="285" height="300"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<visualEffectView appearanceType="vibrantLight" blendingMode="behindWindow" material="appearanceBased" state="followsWindowActiveState" translatesAutoresizingMaskIntoConstraints="NO" id="W6S-45-U7K">
|
||||
<rect key="frame" x="0.0" y="252" width="285" height="48"/>
|
||||
<subviews>
|
||||
<searchField wantsLayer="YES" verticalHuggingPriority="750" textCompletion="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gqz-ML-j9e">
|
||||
<rect key="frame" x="20" y="13" width="245" height="22"/>
|
||||
<searchFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" borderStyle="bezel" usesSingleLineMode="YES" bezelStyle="round" id="Xlk-3c-BJ7">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</searchFieldCell>
|
||||
</searchField>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="48" id="9cZ-Tx-Yyw"/>
|
||||
<constraint firstItem="gqz-ML-j9e" firstAttribute="leading" secondItem="W6S-45-U7K" secondAttribute="leading" constant="20" symbolic="YES" id="AE3-2F-KB1"/>
|
||||
<constraint firstItem="gqz-ML-j9e" firstAttribute="centerY" secondItem="W6S-45-U7K" secondAttribute="centerY" id="bVb-ZW-mMc"/>
|
||||
<constraint firstAttribute="trailing" secondItem="gqz-ML-j9e" secondAttribute="trailing" constant="20" symbolic="YES" id="v25-Qt-e3h"/>
|
||||
</constraints>
|
||||
</visualEffectView>
|
||||
<scrollView borderType="none" autohidesScrollers="YES" horizontalLineScroll="26" horizontalPageScroll="10" verticalLineScroll="26" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rir-se-YCO">
|
||||
<rect key="frame" x="0.0" y="0.0" width="285" height="252"/>
|
||||
<clipView key="contentView" drawsBackground="NO" id="vli-sv-HLg">
|
||||
<rect key="frame" x="0.0" y="0.0" width="285" height="252"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<outlineView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" selectionHighlightStyle="sourceList" columnReordering="NO" multipleSelection="NO" autosaveColumns="NO" rowHeight="24" rowSizeStyle="medium" viewBased="YES" floatsGroupRows="NO" indentationPerLevel="16" outlineTableColumn="Ytm-dS-0WJ" id="Hxu-8i-6rp">
|
||||
<rect key="frame" x="0.0" y="0.0" width="285" height="252"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<size key="intercellSpacing" width="3" height="2"/>
|
||||
<color key="backgroundColor" name="_sourceListBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||
<tableColumns>
|
||||
<tableColumn identifier="" width="282" minWidth="16" maxWidth="1000" id="Ytm-dS-0WJ">
|
||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||
</tableHeaderCell>
|
||||
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="LEs-TM-piu">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||
<prototypeCellViews>
|
||||
<tableCellView identifier="HeaderCell" id="Do1-0K-GCV">
|
||||
<rect key="frame" x="1" y="1" width="282" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="vm6-1A-a5G">
|
||||
<rect key="frame" x="0.0" y="1" width="282" height="14"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="HEADER CELL" id="eL0-h5-mFm">
|
||||
<font key="font" metaFont="smallSystemBold"/>
|
||||
<color key="textColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</subviews>
|
||||
<connections>
|
||||
<outlet property="textField" destination="vm6-1A-a5G" id="Ygp-YV-bUa"/>
|
||||
</connections>
|
||||
</tableCellView>
|
||||
<tableCellView identifier="FeedListCell" id="M2x-Bb-n1x" customClass="SidebarCell" customModule="Evergreen" customModuleProvider="target">
|
||||
<rect key="frame" x="1" y="20" width="282" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<imageView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="iAS-DV-SKL">
|
||||
<rect key="frame" x="3" y="0.0" width="17" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<imageCell key="cell" refusesFirstResponder="YES" imageScaling="proportionallyDown" image="NSActionTemplate" id="dnh-HM-20u"/>
|
||||
</imageView>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="vtx-H2-Xjb">
|
||||
<rect key="frame" x="25" y="0.0" width="257" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="zzF-cw-IyN">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</subviews>
|
||||
<connections>
|
||||
<outlet property="imageView" destination="iAS-DV-SKL" id="xfn-3B-xMs"/>
|
||||
<outlet property="textField" destination="vtx-H2-Xjb" id="web-Eh-wce"/>
|
||||
</connections>
|
||||
</tableCellView>
|
||||
</prototypeCellViews>
|
||||
</tableColumn>
|
||||
</tableColumns>
|
||||
<connections>
|
||||
<outlet property="dataSource" destination="QX3-Wg-cdZ" id="EYM-N6-z2Q"/>
|
||||
<outlet property="delegate" destination="QX3-Wg-cdZ" id="J2x-xC-J0G"/>
|
||||
</connections>
|
||||
</outlineView>
|
||||
</subviews>
|
||||
<nil key="backgroundColor"/>
|
||||
</clipView>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" relation="lessThanOrEqual" constant="512" id="9NC-nE-xTp"/>
|
||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="240" id="ldQ-7U-jou"/>
|
||||
</constraints>
|
||||
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="X3r-hu-K2f">
|
||||
<rect key="frame" x="-100" y="-100" width="285" height="16"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="Qg7-sg-Bly">
|
||||
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
</scrollView>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="rir-se-YCO" secondAttribute="trailing" id="7WI-u5-sU6"/>
|
||||
<constraint firstAttribute="bottom" secondItem="rir-se-YCO" secondAttribute="bottom" id="B0Q-Ma-ojH"/>
|
||||
<constraint firstItem="W6S-45-U7K" firstAttribute="top" secondItem="vp3-VV-Mzw" secondAttribute="top" id="RcQ-DY-ExG"/>
|
||||
<constraint firstAttribute="trailing" secondItem="W6S-45-U7K" secondAttribute="trailing" id="Tqw-ES-fcL"/>
|
||||
<constraint firstItem="rir-se-YCO" firstAttribute="top" secondItem="W6S-45-U7K" secondAttribute="bottom" id="Xd3-qo-Ubs"/>
|
||||
<constraint firstItem="rir-se-YCO" firstAttribute="leading" secondItem="vp3-VV-Mzw" secondAttribute="leading" id="bGY-bf-MdA"/>
|
||||
<constraint firstItem="W6S-45-U7K" firstAttribute="leading" secondItem="vp3-VV-Mzw" secondAttribute="leading" id="qIe-ch-aAN"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<connections>
|
||||
<outlet property="outlineView" destination="Hxu-8i-6rp" id="Hm2-on-0JP"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
<customObject id="MKk-xD-0Fh" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-967" y="1488"/>
|
||||
</scene>
|
||||
<!--Feed List Timeline View Controller-->
|
||||
<scene sceneID="hOx-Zn-uli">
|
||||
<objects>
|
||||
<viewController id="5oM-Nv-I7I" customClass="FeedListTimelineViewController" customModule="Evergreen" customModuleProvider="target" sceneMemberID="viewController">
|
||||
<view key="view" id="Ayc-tI-OzD">
|
||||
<rect key="frame" x="0.0" y="0.0" width="450" height="300"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<scrollView borderType="none" autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="eGF-yH-oea">
|
||||
<rect key="frame" x="0.0" y="0.0" width="450" height="300"/>
|
||||
<clipView key="contentView" id="QTo-1K-1u2">
|
||||
<rect key="frame" x="0.0" y="0.0" width="450" height="300"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnReordering="NO" multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" typeSelect="NO" rowSizeStyle="automatic" viewBased="YES" floatsGroupRows="NO" id="D1H-xQ-37M">
|
||||
<rect key="frame" x="0.0" y="0.0" width="450" height="300"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<size key="intercellSpacing" width="3" height="2"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||
<tableColumns>
|
||||
<tableColumn identifier="" width="116" minWidth="40" maxWidth="1000" id="qm9-Co-lJr">
|
||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||
</tableHeaderCell>
|
||||
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="hUD-7s-U2u">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||
<prototypeCellViews>
|
||||
<tableCellView id="hg5-83-a5Z">
|
||||
<rect key="frame" x="1" y="1" width="116" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cDm-zV-x6N">
|
||||
<rect key="frame" x="0.0" y="0.0" width="116" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="ZY6-YU-rrU">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</subviews>
|
||||
<connections>
|
||||
<outlet property="textField" destination="cDm-zV-x6N" id="nDu-d9-1w9"/>
|
||||
</connections>
|
||||
</tableCellView>
|
||||
</prototypeCellViews>
|
||||
</tableColumn>
|
||||
<tableColumn identifier="" width="328" minWidth="40" maxWidth="1000" id="N5b-a8-DDG">
|
||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||
</tableHeaderCell>
|
||||
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="UtV-Rc-YFH">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||
<prototypeCellViews>
|
||||
<tableCellView id="e21-hS-OeE">
|
||||
<rect key="frame" x="120" y="1" width="328" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="MRY-sV-Us9">
|
||||
<rect key="frame" x="0.0" y="0.0" width="328" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="EXc-CI-HAS">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</subviews>
|
||||
<connections>
|
||||
<outlet property="textField" destination="MRY-sV-Us9" id="6SL-WX-tp5"/>
|
||||
</connections>
|
||||
</tableCellView>
|
||||
</prototypeCellViews>
|
||||
</tableColumn>
|
||||
</tableColumns>
|
||||
</tableView>
|
||||
</subviews>
|
||||
</clipView>
|
||||
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="pOU-wV-ftq">
|
||||
<rect key="frame" x="1" y="119" width="223" height="15"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="zCx-Fz-yEd">
|
||||
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
</scrollView>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstAttribute="bottom" secondItem="eGF-yH-oea" secondAttribute="bottom" id="L2H-cP-qWd"/>
|
||||
<constraint firstAttribute="trailing" secondItem="eGF-yH-oea" secondAttribute="trailing" id="WAK-gU-jrD"/>
|
||||
<constraint firstItem="eGF-yH-oea" firstAttribute="top" secondItem="Ayc-tI-OzD" secondAttribute="top" id="mBn-j8-wXF"/>
|
||||
<constraint firstItem="eGF-yH-oea" firstAttribute="leading" secondItem="Ayc-tI-OzD" secondAttribute="leading" id="xE0-7D-thL"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</viewController>
|
||||
<customObject id="Xw8-6t-9F9" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="-261" y="1477"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
<resources>
|
||||
<image name="NSActionTemplate" width="14" height="14"/>
|
||||
</resources>
|
||||
</document>
|
@ -1,145 +0,0 @@
|
||||
//
|
||||
// FeedListSplitViewDelegate.swift
|
||||
// Evergreen
|
||||
//
|
||||
// Created by Brent Simmons on 12/27/17.
|
||||
// Copyright © 2017 Ranchero Software. All rights reserved.
|
||||
//
|
||||
|
||||
import Cocoa
|
||||
import DB5
|
||||
import RSCore
|
||||
|
||||
final class FeedListSplitViewDelegate: NSObject, NSSplitViewDelegate {
|
||||
|
||||
@IBOutlet weak var sidebarView: NSView?
|
||||
@IBOutlet weak var timelineView: NSView?
|
||||
@IBOutlet weak var splitView: NSSplitView?
|
||||
let sidebarMinimumThickness: CGFloat
|
||||
let sidebarMaximumThickness: CGFloat
|
||||
let sidebarBestWidth: CGFloat
|
||||
let timelineMinimumThickness: CGFloat
|
||||
|
||||
override init() {
|
||||
|
||||
sidebarMinimumThickness = appDelegate.currentTheme.float(forKey: "FeedDirectory.sidebar.minimumThickness")
|
||||
sidebarMaximumThickness = appDelegate.currentTheme.float(forKey: "FeedDirectory.sidebar.maximumThickness")
|
||||
sidebarBestWidth = appDelegate.currentTheme.float(forKey: "FeedDirectory.sidebar.bestWidth")
|
||||
timelineMinimumThickness = appDelegate.currentTheme.float(forKey: "FeedDirectory.timeline.minimumThickness")
|
||||
|
||||
super.init()
|
||||
}
|
||||
|
||||
// override func awakeFromNib() {
|
||||
//
|
||||
// let highestAllowedPriority = NSLayoutConstraint.Priority(rawValue: NSLayoutConstraint.Priority.dragThatCannotResizeWindow.rawValue - 1)
|
||||
// splitView?.setHoldingPriority(highestAllowedPriority, forSubviewAt: 0)
|
||||
// splitView?.setHoldingPriority(.defaultLow, forSubviewAt: 1)
|
||||
// }
|
||||
|
||||
// MARK: - NSSplitViewDelegate
|
||||
|
||||
func splitView(_ splitView: NSSplitView, canCollapseSubview subview: NSView) -> Bool {
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
func splitView(_ splitView: NSSplitView, shouldCollapseSubview subview: NSView, forDoubleClickOnDividerAt dividerIndex: Int) -> Bool {
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
func splitView(_ splitView: NSSplitView, shouldHideDividerAt dividerIndex: Int) -> Bool {
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
func splitView(_ splitView: NSSplitView, constrainMinCoordinate proposedMinimumPosition: CGFloat, ofSubviewAt dividerIndex: Int) -> CGFloat {
|
||||
|
||||
return sidebarMinimumThickness
|
||||
}
|
||||
|
||||
func splitView(_ splitView: NSSplitView, constrainMaxCoordinate proposedMaximumPosition: CGFloat, ofSubviewAt dividerIndex: Int) -> CGFloat {
|
||||
|
||||
return sidebarMaximumThickness
|
||||
}
|
||||
|
||||
func splitView(_ splitView: NSSplitView, constrainSplitPosition proposedPosition: CGFloat, ofSubviewAt dividerIndex: Int) -> CGFloat {
|
||||
|
||||
if proposedPosition < sidebarMinimumThickness {
|
||||
return sidebarMinimumThickness
|
||||
}
|
||||
|
||||
// If proposedPosition makes timeline too small, then adjust.
|
||||
let proposedTimelineWidth = proposedTimelineThickness(splitView, proposedPosition)
|
||||
if proposedTimelineWidth < timelineMinimumThickness {
|
||||
return min(sidebarMaximumThickness, proposedPosition - (timelineMinimumThickness - proposedTimelineWidth))
|
||||
}
|
||||
|
||||
if proposedPosition > sidebarMaximumThickness {
|
||||
return sidebarMaximumThickness
|
||||
}
|
||||
|
||||
return proposedPosition
|
||||
}
|
||||
|
||||
// func splitView(_ splitView: NSSplitView, shouldAdjustSizeOfSubview view: NSView) -> Bool {
|
||||
//
|
||||
// guard let sidebarView = sidebarView, let timelineView = timelineView else {
|
||||
// assertionFailure("Expected sidebarView and timelineView as non-nil, but at least one is nil.")
|
||||
// return true
|
||||
// }
|
||||
//
|
||||
// if view === sidebarView {
|
||||
// if timelineView.frame.width <= timelineMinimumThickness {
|
||||
// return true
|
||||
// }
|
||||
// return false
|
||||
// }
|
||||
//
|
||||
// return true
|
||||
// }
|
||||
|
||||
func splitView(_ splitView: NSSplitView, resizeSubviewsWithOldSize oldSize: NSSize) {
|
||||
|
||||
guard let sidebarView = sidebarView, let timelineView = timelineView else {
|
||||
assertionFailure("Expected sidebarView and timelineView as non-nil, but at least one is nil.")
|
||||
return
|
||||
}
|
||||
|
||||
let splitViewFrame = splitView.frame
|
||||
let splitViewWidth = splitViewFrame.width
|
||||
let dividerThickness = splitView.dividerThickness
|
||||
|
||||
var sidebarViewFrame = sidebarView.frame
|
||||
sidebarViewFrame.size.height = splitViewFrame.height
|
||||
var timelineViewFrame = timelineView.frame
|
||||
timelineViewFrame.size.height = splitViewFrame.height
|
||||
|
||||
sidebarViewFrame.size.width = max(sidebarViewFrame.width, sidebarMinimumThickness)
|
||||
sidebarViewFrame.size.width = ceil(min(sidebarViewFrame.width, sidebarMaximumThickness))
|
||||
timelineViewFrame.size.width = floor(min(timelineViewFrame.width, timelineMinimumThickness))
|
||||
|
||||
let totalProposedWidth = sidebarViewFrame.width + dividerThickness + timelineViewFrame.width
|
||||
let difference = splitViewWidth - totalProposedWidth
|
||||
if difference < 0 {
|
||||
timelineViewFrame.size.width += difference
|
||||
if timelineViewFrame.width < 0 {
|
||||
timelineViewFrame.size.width = 0
|
||||
sidebarViewFrame.size.width += difference
|
||||
}
|
||||
}
|
||||
|
||||
sidebarView.rs_setFrameIfNotEqual(sidebarViewFrame)
|
||||
timelineView.rs_setFrameIfNotEqual(timelineViewFrame)
|
||||
}
|
||||
}
|
||||
|
||||
private extension FeedListSplitViewDelegate {
|
||||
|
||||
func proposedTimelineThickness(_ splitView: NSSplitView, _ proposedPosition: CGFloat) -> CGFloat {
|
||||
|
||||
return (splitView.frame.width - splitView.dividerThickness) - proposedPosition
|
||||
}
|
||||
|
||||
}
|
@ -6,4 +6,12 @@
|
||||
// Copyright © 2017 Ranchero Software. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import Cocoa
|
||||
|
||||
final class FeedListTimelineViewController: NSViewController {
|
||||
|
||||
override func viewDidLoad() {
|
||||
|
||||
view.translatesAutoresizingMaskIntoConstraints = false
|
||||
}
|
||||
}
|
||||
|
@ -23,6 +23,8 @@ final class FeedListViewController: NSViewController {
|
||||
|
||||
override func viewDidLoad() {
|
||||
|
||||
view.translatesAutoresizingMaskIntoConstraints = false
|
||||
|
||||
sidebarCellAppearance = SidebarCellAppearance(theme: appDelegate.currentTheme, fontSize: AppDefaults.shared.sidebarFontSize)
|
||||
NotificationCenter.default.addObserver(self, selector: #selector(faviconDidBecomeAvailable(_:)), name: .FaviconDidBecomeAvailable, object: nil)
|
||||
outlineView.needsLayout = true
|
||||
@ -71,7 +73,7 @@ extension FeedListViewController: NSOutlineViewDelegate {
|
||||
func outlineView(_ outlineView: NSOutlineView, viewFor tableColumn: NSTableColumn?, item: Any) -> NSView? {
|
||||
|
||||
let cell = outlineView.makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "FeedListCell"), owner: self) as! SidebarCell
|
||||
|
||||
cell.translatesAutoresizingMaskIntoConstraints = false
|
||||
let node = item as! Node
|
||||
configure(cell, node)
|
||||
|
||||
|
@ -1,225 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="13771" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="13771"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="FeedListWindowController" customModule="Evergreen" customModuleProvider="target">
|
||||
<connections>
|
||||
<outlet property="window" destination="QvC-M9-y7g" id="bzG-LL-nKW"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||
<window title="Feed Directory" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" releasedWhenClosed="NO" showsToolbarButton="NO" visibleAtLaunch="NO" frameAutosaveName="FeedListWindow" animationBehavior="default" tabbingIdentifier="feedListWindow" id="QvC-M9-y7g">
|
||||
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
|
||||
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
|
||||
<rect key="contentRect" x="196" y="240" width="480" height="320"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1417"/>
|
||||
<value key="minSize" type="size" width="480" height="320"/>
|
||||
<value key="maxSize" type="size" width="1024" height="2048"/>
|
||||
<view key="contentView" wantsLayer="YES" id="EiT-Mj-1SZ">
|
||||
<rect key="frame" x="0.0" y="0.0" width="480" height="320"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<splitView identifier="feedListSplitView" arrangesAllSubviews="NO" autosaveName="FeedListSplitView" dividerStyle="thin" vertical="YES" translatesAutoresizingMaskIntoConstraints="NO" id="LmW-op-ndf">
|
||||
<rect key="frame" x="0.0" y="32" width="480" height="288"/>
|
||||
<subviews>
|
||||
<visualEffectView appearanceType="vibrantLight" blendingMode="behindWindow" material="appearanceBased" state="followsWindowActiveState" id="fSs-xC-S8k">
|
||||
<rect key="frame" x="0.0" y="0.0" width="128" height="288"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<customView translatesAutoresizingMaskIntoConstraints="NO" id="Sxr-eg-boM">
|
||||
<rect key="frame" x="0.0" y="240" width="128" height="48"/>
|
||||
<subviews>
|
||||
<searchField wantsLayer="YES" verticalHuggingPriority="750" textCompletion="NO" translatesAutoresizingMaskIntoConstraints="NO" id="791-YX-E38">
|
||||
<rect key="frame" x="20" y="13" width="88" height="22"/>
|
||||
<searchFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" allowsUndo="NO" borderStyle="bezel" placeholderString="Filter" usesSingleLineMode="YES" bezelStyle="round" sendsSearchStringImmediately="YES" sendsWholeSearchString="YES" id="R5K-If-i2f">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</searchFieldCell>
|
||||
</searchField>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="48" id="62f-Ja-njN"/>
|
||||
<constraint firstItem="791-YX-E38" firstAttribute="centerY" secondItem="Sxr-eg-boM" secondAttribute="centerY" id="Z9W-jw-zkI"/>
|
||||
<constraint firstItem="791-YX-E38" firstAttribute="leading" secondItem="Sxr-eg-boM" secondAttribute="leading" constant="20" symbolic="YES" id="d50-xe-TO4"/>
|
||||
<constraint firstAttribute="trailing" secondItem="791-YX-E38" secondAttribute="trailing" constant="20" symbolic="YES" id="i0h-PY-4SC"/>
|
||||
</constraints>
|
||||
</customView>
|
||||
<scrollView borderType="none" autohidesScrollers="YES" horizontalLineScroll="26" horizontalPageScroll="10" verticalLineScroll="26" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" horizontalScrollElasticity="none" translatesAutoresizingMaskIntoConstraints="NO" id="OF2-9S-uq1">
|
||||
<rect key="frame" x="0.0" y="0.0" width="128" height="240"/>
|
||||
<clipView key="contentView" drawsBackground="NO" id="tIe-rZ-QVh">
|
||||
<rect key="frame" x="0.0" y="0.0" width="128" height="240"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<outlineView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" selectionHighlightStyle="sourceList" columnReordering="NO" autosaveColumns="NO" rowHeight="24" rowSizeStyle="medium" viewBased="YES" floatsGroupRows="NO" indentationPerLevel="16" outlineTableColumn="DDG-fw-BOq" id="QFz-zl-L9q">
|
||||
<rect key="frame" x="0.0" y="0.0" width="128" height="240"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<size key="intercellSpacing" width="3" height="2"/>
|
||||
<color key="backgroundColor" name="_sourceListBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||
<tableColumns>
|
||||
<tableColumn identifier="" width="125" minWidth="16" maxWidth="1000" id="DDG-fw-BOq">
|
||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||
</tableHeaderCell>
|
||||
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="U2H-cs-jde">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||
<prototypeCellViews>
|
||||
<tableCellView identifier="HeaderCell" id="rPF-Th-5l6">
|
||||
<rect key="frame" x="1" y="1" width="125" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Fp1-HX-EM4">
|
||||
<rect key="frame" x="0.0" y="1" width="125" height="14"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="HEADER CELL" id="1Rz-3S-1vv">
|
||||
<font key="font" metaFont="smallSystemBold"/>
|
||||
<color key="textColor" name="headerColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</subviews>
|
||||
<connections>
|
||||
<outlet property="textField" destination="Fp1-HX-EM4" id="UQs-tV-3wl"/>
|
||||
</connections>
|
||||
</tableCellView>
|
||||
<tableCellView identifier="FeedListCell" id="oo8-3R-9Qa" customClass="SidebarCell" customModule="Evergreen" customModuleProvider="target">
|
||||
<rect key="frame" x="1" y="20" width="125" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<imageView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ddF-Kr-ft0">
|
||||
<rect key="frame" x="3" y="0.0" width="17" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<imageCell key="cell" refusesFirstResponder="YES" imageScaling="proportionallyDown" image="NSActionTemplate" id="HgG-Pt-2z7"/>
|
||||
</imageView>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Flq-o4-dtm">
|
||||
<rect key="frame" x="25" y="0.0" width="100" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="Wuw-uU-GVp">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</subviews>
|
||||
<connections>
|
||||
<outlet property="imageView" destination="ddF-Kr-ft0" id="0e4-pZ-hDr"/>
|
||||
<outlet property="textField" destination="Flq-o4-dtm" id="P96-eF-dBi"/>
|
||||
</connections>
|
||||
</tableCellView>
|
||||
</prototypeCellViews>
|
||||
</tableColumn>
|
||||
</tableColumns>
|
||||
<connections>
|
||||
<outlet property="dataSource" destination="PaK-f7-LwO" id="rCV-PC-qeS"/>
|
||||
<outlet property="delegate" destination="PaK-f7-LwO" id="1bE-cF-kNW"/>
|
||||
</connections>
|
||||
</outlineView>
|
||||
</subviews>
|
||||
<nil key="backgroundColor"/>
|
||||
</clipView>
|
||||
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="Hnz-Cp-z1k">
|
||||
<rect key="frame" x="-100" y="-100" width="238" height="15"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="3bs-fU-WVz">
|
||||
<rect key="frame" x="-16" y="0.0" width="16" height="0.0"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
</scrollView>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="Sxr-eg-boM" firstAttribute="top" secondItem="fSs-xC-S8k" secondAttribute="top" id="JY1-JZ-cuJ"/>
|
||||
<constraint firstAttribute="trailing" secondItem="Sxr-eg-boM" secondAttribute="trailing" id="JxU-8e-12v"/>
|
||||
<constraint firstAttribute="bottom" secondItem="OF2-9S-uq1" secondAttribute="bottom" id="aqg-cT-TaC"/>
|
||||
<constraint firstItem="OF2-9S-uq1" firstAttribute="leading" secondItem="fSs-xC-S8k" secondAttribute="leading" id="c5o-Kb-QD5"/>
|
||||
<constraint firstAttribute="trailing" secondItem="OF2-9S-uq1" secondAttribute="trailing" id="gtT-Vf-xJy"/>
|
||||
<constraint firstItem="Sxr-eg-boM" firstAttribute="leading" secondItem="fSs-xC-S8k" secondAttribute="leading" id="rb4-70-MGe"/>
|
||||
<constraint firstItem="OF2-9S-uq1" firstAttribute="top" secondItem="Sxr-eg-boM" secondAttribute="bottom" id="vSF-na-noD"/>
|
||||
</constraints>
|
||||
</visualEffectView>
|
||||
<customView fixedFrame="YES" id="asI-cc-kYO">
|
||||
<rect key="frame" x="129" y="0.0" width="351" height="288"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</customView>
|
||||
</subviews>
|
||||
<holdingPriorities>
|
||||
<real value="489"/>
|
||||
<real value="251"/>
|
||||
</holdingPriorities>
|
||||
<connections>
|
||||
<outlet property="delegate" destination="foD-R8-nCX" id="8ds-kY-h3r"/>
|
||||
</connections>
|
||||
</splitView>
|
||||
<customView translatesAutoresizingMaskIntoConstraints="NO" id="6se-0m-JxY" customClass="FeedListControlsView" customModule="Evergreen" customModuleProvider="target">
|
||||
<rect key="frame" x="0.0" y="0.0" width="480" height="32"/>
|
||||
<subviews>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="U53-Bq-HP2">
|
||||
<rect key="frame" x="20" y="3" width="120" height="25"/>
|
||||
<buttonCell key="cell" type="roundTextured" title="Add to Feeds" bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="7OU-tA-nCD">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="X7c-Nn-Xph">
|
||||
<rect key="frame" x="148" y="3" width="120" height="25"/>
|
||||
<buttonCell key="cell" type="roundTextured" title="Open Home Page" bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="yrU-QH-vPM">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
</button>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="X7c-Nn-Xph" firstAttribute="leading" secondItem="U53-Bq-HP2" secondAttribute="trailing" constant="8" symbolic="YES" id="0Qa-VX-hdR"/>
|
||||
<constraint firstItem="U53-Bq-HP2" firstAttribute="leading" secondItem="6se-0m-JxY" secondAttribute="leading" constant="20" symbolic="YES" id="0Sc-2H-DfU"/>
|
||||
<constraint firstItem="U53-Bq-HP2" firstAttribute="centerY" secondItem="6se-0m-JxY" secondAttribute="centerY" id="9rb-e2-33Q"/>
|
||||
<constraint firstAttribute="height" constant="32" id="AbU-G5-j4T"/>
|
||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="X7c-Nn-Xph" secondAttribute="trailing" constant="20" symbolic="YES" id="Cjz-4A-F90"/>
|
||||
<constraint firstItem="X7c-Nn-Xph" firstAttribute="baseline" secondItem="U53-Bq-HP2" secondAttribute="baseline" id="mGj-Qh-qO0"/>
|
||||
<constraint firstItem="X7c-Nn-Xph" firstAttribute="width" secondItem="U53-Bq-HP2" secondAttribute="width" id="yoX-G2-pWj"/>
|
||||
</constraints>
|
||||
</customView>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="6se-0m-JxY" secondAttribute="trailing" id="HKu-uJ-efY"/>
|
||||
<constraint firstAttribute="trailing" secondItem="LmW-op-ndf" secondAttribute="trailing" id="LJD-YC-Lsl"/>
|
||||
<constraint firstItem="LmW-op-ndf" firstAttribute="leading" secondItem="EiT-Mj-1SZ" secondAttribute="leading" id="T9a-cw-EEU"/>
|
||||
<constraint firstItem="6se-0m-JxY" firstAttribute="top" secondItem="LmW-op-ndf" secondAttribute="bottom" id="Vk9-ar-osD"/>
|
||||
<constraint firstItem="LmW-op-ndf" firstAttribute="top" secondItem="EiT-Mj-1SZ" secondAttribute="top" id="aXq-dQ-TUw"/>
|
||||
<constraint firstAttribute="bottom" secondItem="6se-0m-JxY" secondAttribute="bottom" id="lip-QF-tl7"/>
|
||||
<constraint firstItem="6se-0m-JxY" firstAttribute="leading" secondItem="EiT-Mj-1SZ" secondAttribute="leading" id="omW-wJ-Mxf"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<contentBorderThickness minY="32"/>
|
||||
<connections>
|
||||
<outlet property="initialFirstResponder" destination="791-YX-E38" id="COm-7H-yRn"/>
|
||||
</connections>
|
||||
</window>
|
||||
<viewController id="PaK-f7-LwO" customClass="FeedListViewController" customModule="Evergreen" customModuleProvider="target">
|
||||
<connections>
|
||||
<outlet property="outlineView" destination="QFz-zl-L9q" id="kXs-PQ-ozV"/>
|
||||
<outlet property="view" destination="OF2-9S-uq1" id="yfP-zX-T6z"/>
|
||||
</connections>
|
||||
</viewController>
|
||||
<customObject id="foD-R8-nCX" customClass="FeedListSplitViewDelegate" customModule="Evergreen" customModuleProvider="target">
|
||||
<connections>
|
||||
<outlet property="sidebarView" destination="fSs-xC-S8k" id="EPm-FO-BI3"/>
|
||||
<outlet property="splitView" destination="LmW-op-ndf" id="X2z-RD-rkV"/>
|
||||
<outlet property="timelineView" destination="asI-cc-kYO" id="sw2-Qf-oMo"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="NSActionTemplate" width="14" height="14"/>
|
||||
</resources>
|
||||
</document>
|
@ -11,11 +11,11 @@ import Cocoa
|
||||
class FeedListWindowController : NSWindowController {
|
||||
|
||||
|
||||
public convenience init() {
|
||||
override func windowDidLoad() {
|
||||
|
||||
self.init(windowNibName: NSNib.Name(rawValue: "FeedListWindow"))
|
||||
window!.contentView?.translatesAutoresizingMaskIntoConstraints = false
|
||||
}
|
||||
|
||||
|
||||
@IBAction func addToFeeds(_ sender: AnyObject) {
|
||||
|
||||
}
|
||||
|
@ -83,6 +83,8 @@ class SidebarCell : NSTableCellView {
|
||||
private func commonInit() {
|
||||
|
||||
unreadCountView.translatesAutoresizingMaskIntoConstraints = false
|
||||
imageView?.translatesAutoresizingMaskIntoConstraints = false
|
||||
textField?.translatesAutoresizingMaskIntoConstraints = false
|
||||
addSubview(unreadCountView)
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user