Go back to using storyboard for Feed Directory.
This commit is contained in:
parent
7ae2345073
commit
99f2c01a04
Evergreen.xcodeproj
Evergreen
@ -38,7 +38,6 @@
|
|||||||
846E77411F6EF6A100A165E2 /* Database.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 846E77211F6EF5D100A165E2 /* Database.framework */; };
|
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, ); }; };
|
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 */; };
|
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 */; };
|
848F6AE51FC29CFB002D422E /* FaviconDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 848F6AE41FC29CFA002D422E /* FaviconDownloader.swift */; };
|
||||||
849A97431ED9EAA9007D329B /* AddFolderWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849A97421ED9EAA9007D329B /* AddFolderWindowController.swift */; };
|
849A97431ED9EAA9007D329B /* AddFolderWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849A97421ED9EAA9007D329B /* AddFolderWindowController.swift */; };
|
||||||
849A97531ED9EAC0007D329B /* AddFeedController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 849A97511ED9EAC0007D329B /* AddFeedController.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, ); }; };
|
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 */; };
|
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, ); }; };
|
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 */; };
|
84B99C671FAE35E600ECDEDB /* FeedListTreeControllerDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84B99C661FAE35E600ECDEDB /* FeedListTreeControllerDelegate.swift */; };
|
||||||
84B99C691FAE36B800ECDEDB /* FeedListFolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84B99C681FAE36B800ECDEDB /* FeedListFolder.swift */; };
|
84B99C691FAE36B800ECDEDB /* FeedListFolder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84B99C681FAE36B800ECDEDB /* FeedListFolder.swift */; };
|
||||||
84B99C6B1FAE370B00ECDEDB /* FeedListFeed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84B99C6A1FAE370B00ECDEDB /* FeedListFeed.swift */; };
|
84B99C6B1FAE370B00ECDEDB /* FeedListFeed.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84B99C6A1FAE370B00ECDEDB /* FeedListFeed.swift */; };
|
||||||
84B99C9D1FAE83C600ECDEDB /* DeleteFromSidebarCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84B99C9C1FAE83C600ECDEDB /* DeleteFromSidebarCommand.swift */; };
|
84B99C9D1FAE83C600ECDEDB /* DeleteFromSidebarCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84B99C9C1FAE83C600ECDEDB /* DeleteFromSidebarCommand.swift */; };
|
||||||
84BB4B771F11753300858766 /* Data.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84BB4B681F1174D400858766 /* Data.framework */; };
|
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, ); }; };
|
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 */; };
|
84CC88181FE59CBF00644329 /* SmartFeedsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84CC88171FE59CBF00644329 /* SmartFeedsController.swift */; };
|
||||||
84D52E951FE588BB00D14F5B /* DetailStatusBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84D52E941FE588BB00D14F5B /* DetailStatusBarView.swift */; };
|
84D52E951FE588BB00D14F5B /* DetailStatusBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84D52E941FE588BB00D14F5B /* DetailStatusBarView.swift */; };
|
||||||
84DAEE301F86CAFE0058304B /* OPMLImporter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84DAEE2F1F86CAFE0058304B /* OPMLImporter.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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
84CBDDAE1FD3674C005A61AA /* Technotes */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Technotes; sourceTree = "<group>"; };
|
||||||
84CC88171FE59CBF00644329 /* SmartFeedsController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SmartFeedsController.swift; 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>"; };
|
84D52E941FE588BB00D14F5B /* DetailStatusBarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailStatusBarView.swift; sourceTree = "<group>"; };
|
||||||
@ -789,9 +787,8 @@
|
|||||||
849A978B1ED9EE4D007D329B /* Feed List */ = {
|
849A978B1ED9EE4D007D329B /* Feed List */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
84B2FAA31FF47BAC009C4878 /* FeedListWindow.xib */,
|
84C12A141FF5B0080009A267 /* FeedList.storyboard */,
|
||||||
849A978C1ED9EE4D007D329B /* FeedListWindowController.swift */,
|
849A978C1ED9EE4D007D329B /* FeedListWindowController.swift */,
|
||||||
847C4C9B1FF44F790090D517 /* FeedListSplitViewDelegate.swift */,
|
|
||||||
84F204CD1FAACB660076E152 /* FeedListViewController.swift */,
|
84F204CD1FAACB660076E152 /* FeedListViewController.swift */,
|
||||||
84F204DD1FAACB8B0076E152 /* FeedListTimelineViewController.swift */,
|
84F204DD1FAACB8B0076E152 /* FeedListTimelineViewController.swift */,
|
||||||
84513F8F1FAA63950023A1A9 /* FeedListControlsView.swift */,
|
84513F8F1FAA63950023A1A9 /* FeedListControlsView.swift */,
|
||||||
@ -1366,7 +1363,7 @@
|
|||||||
842E45E71ED8C747000A8B52 /* DB5.plist in Resources */,
|
842E45E71ED8C747000A8B52 /* DB5.plist in Resources */,
|
||||||
844B5B691FEA20DF00C7C76A /* SidebarKeyboardShortcuts.plist in Resources */,
|
844B5B691FEA20DF00C7C76A /* SidebarKeyboardShortcuts.plist in Resources */,
|
||||||
849A97AC1ED9F9BC007D329B /* AddFolderSheet.xib in Resources */,
|
849A97AC1ED9F9BC007D329B /* AddFolderSheet.xib in Resources */,
|
||||||
84B2FAA41FF47BAC009C4878 /* FeedListWindow.xib in Resources */,
|
84C12A151FF5B0080009A267 /* FeedList.storyboard in Resources */,
|
||||||
84E95CF71FABB3C800552D99 /* FeedList.plist in Resources */,
|
84E95CF71FABB3C800552D99 /* FeedList.plist in Resources */,
|
||||||
849C64681ED37A5D003D8FC0 /* Assets.xcassets in Resources */,
|
849C64681ED37A5D003D8FC0 /* Assets.xcassets in Resources */,
|
||||||
849C646B1ED37A5D003D8FC0 /* Main.storyboard in Resources */,
|
849C646B1ED37A5D003D8FC0 /* Main.storyboard in Resources */,
|
||||||
@ -1444,7 +1441,6 @@
|
|||||||
84B99C6B1FAE370B00ECDEDB /* FeedListFeed.swift in Sources */,
|
84B99C6B1FAE370B00ECDEDB /* FeedListFeed.swift in Sources */,
|
||||||
842611A01FCB72600086A189 /* FeaturedImageDownloader.swift in Sources */,
|
842611A01FCB72600086A189 /* FeaturedImageDownloader.swift in Sources */,
|
||||||
849A97781ED9EC04007D329B /* TimelineCellLayout.swift in Sources */,
|
849A97781ED9EC04007D329B /* TimelineCellLayout.swift in Sources */,
|
||||||
847C4C9C1FF44F790090D517 /* FeedListSplitViewDelegate.swift in Sources */,
|
|
||||||
849A976C1ED9EBC8007D329B /* TimelineTableRowView.swift in Sources */,
|
849A976C1ED9EBC8007D329B /* TimelineTableRowView.swift in Sources */,
|
||||||
849A977B1ED9EC04007D329B /* UnreadIndicatorView.swift in Sources */,
|
849A977B1ED9EC04007D329B /* UnreadIndicatorView.swift in Sources */,
|
||||||
84B99C9D1FAE83C600ECDEDB /* DeleteFromSidebarCommand.swift in Sources */,
|
84B99C9D1FAE83C600ECDEDB /* DeleteFromSidebarCommand.swift in Sources */,
|
||||||
|
@ -267,7 +267,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserInterfaceValidations,
|
|||||||
@IBAction func showFeedList(_ sender: AnyObject) {
|
@IBAction func showFeedList(_ sender: AnyObject) {
|
||||||
|
|
||||||
if feedListWindowController == nil {
|
if feedListWindowController == nil {
|
||||||
feedListWindowController = FeedListWindowController()
|
feedListWindowController = windowControllerWithName("FeedList")
|
||||||
}
|
}
|
||||||
feedListWindowController!.showWindow(self)
|
feedListWindowController!.showWindow(self)
|
||||||
}
|
}
|
||||||
|
@ -215,7 +215,7 @@
|
|||||||
</windowController>
|
</windowController>
|
||||||
<customObject id="Oky-zY-oP4" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
|
<customObject id="Oky-zY-oP4" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
|
||||||
</objects>
|
</objects>
|
||||||
<point key="canvasLocation" x="-520" y="38"/>
|
<point key="canvasLocation" x="-666" y="-124"/>
|
||||||
</scene>
|
</scene>
|
||||||
<!--Split View Controller-->
|
<!--Split View Controller-->
|
||||||
<scene sceneID="vhK-r2-b3N">
|
<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.
|
// 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() {
|
override func viewDidLoad() {
|
||||||
|
|
||||||
|
view.translatesAutoresizingMaskIntoConstraints = false
|
||||||
|
|
||||||
sidebarCellAppearance = SidebarCellAppearance(theme: appDelegate.currentTheme, fontSize: AppDefaults.shared.sidebarFontSize)
|
sidebarCellAppearance = SidebarCellAppearance(theme: appDelegate.currentTheme, fontSize: AppDefaults.shared.sidebarFontSize)
|
||||||
NotificationCenter.default.addObserver(self, selector: #selector(faviconDidBecomeAvailable(_:)), name: .FaviconDidBecomeAvailable, object: nil)
|
NotificationCenter.default.addObserver(self, selector: #selector(faviconDidBecomeAvailable(_:)), name: .FaviconDidBecomeAvailable, object: nil)
|
||||||
outlineView.needsLayout = true
|
outlineView.needsLayout = true
|
||||||
@ -71,7 +73,7 @@ extension FeedListViewController: NSOutlineViewDelegate {
|
|||||||
func outlineView(_ outlineView: NSOutlineView, viewFor tableColumn: NSTableColumn?, item: Any) -> NSView? {
|
func outlineView(_ outlineView: NSOutlineView, viewFor tableColumn: NSTableColumn?, item: Any) -> NSView? {
|
||||||
|
|
||||||
let cell = outlineView.makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "FeedListCell"), owner: self) as! SidebarCell
|
let cell = outlineView.makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "FeedListCell"), owner: self) as! SidebarCell
|
||||||
|
cell.translatesAutoresizingMaskIntoConstraints = false
|
||||||
let node = item as! Node
|
let node = item as! Node
|
||||||
configure(cell, 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 {
|
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) {
|
@IBAction func addToFeeds(_ sender: AnyObject) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -83,6 +83,8 @@ class SidebarCell : NSTableCellView {
|
|||||||
private func commonInit() {
|
private func commonInit() {
|
||||||
|
|
||||||
unreadCountView.translatesAutoresizingMaskIntoConstraints = false
|
unreadCountView.translatesAutoresizingMaskIntoConstraints = false
|
||||||
|
imageView?.translatesAutoresizingMaskIntoConstraints = false
|
||||||
|
textField?.translatesAutoresizingMaskIntoConstraints = false
|
||||||
addSubview(unreadCountView)
|
addSubview(unreadCountView)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user