Commit Graph

303 Commits

Author SHA1 Message Date
Brent Simmons e7ce12869c Disable commands to add a feed or add a folder if the window is already displaying a sheet. Fix #319. 2018-02-03 10:56:12 -08:00
Brent Simmons 9fce370967 Try again to check in the added outlets. 2018-02-02 23:01:12 -08:00
Brent Simmons 70a3e6cc89 Wire up outlets for the rename sheet. 2018-02-02 23:00:09 -08:00
Brent Simmons 50dcf436d9 Change Cocoa imports to AppKit imports, because we don’t need CoreData imported (which Cocoa imports). 2018-02-02 22:51:32 -08:00
Brent Simmons 6347ac7888 Merge branch 'master' of https://github.com/brentsimmons/Evergreen 2018-02-02 21:56:52 -08:00
Brent Simmons 920be7b0d1 Start work on the sidebar gear menu. There are commands there now. They don’t all work. 2018-02-02 21:56:17 -08:00
Daniel Jalkut a291f1e93c Merge branch 'fix-toolbar-validation' into xcode9.3 2018-01-29 11:49:47 -05:00
Daniel Jalkut e4136c2165 Sender should be Any? to reflect the fact it may be nil. This nuance seems to make the difference on Xcode 9.3/Swift 4.1 between crashing or not. Without this change, refreshing crashes every time, presumably because Swift is making assumptions about the parameter being non-nil and refreshProgressDidChange calls it explicitly with a nil parameter. 2018-01-29 11:48:09 -05:00
Daniel Jalkut d7f13ca4be Change from flatMap to new compactMap rename in Xcode 9.3. 2018-01-29 11:19:54 -05:00
Brent Simmons 2d7d903bca Create and use a SidebarGearMenuDelegate to show a menu when the gear menu in the sidebar is clicked. 2018-01-28 16:09:18 -08:00
Brent Simmons 285e3971d7 Re-sort the timeline when sort direction changes. Fix #65. 2018-01-28 11:45:18 -08:00
Brent Simmons 78e8823f23 Merge branch 'master' of https://github.com/brentsimmons/Evergreen 2018-01-28 11:33:58 -08:00
Brent Simmons ffd11b91ef Register for UserDefaults.didChangeNotification instead of using KVO on NSUserDefaultsController. 2018-01-28 11:33:45 -08:00
Brent Simmons 28c4ea82e5 Consider sort direction when sorting the Article array for the timeline. 2018-01-28 11:33:04 -08:00
Brent Simmons 144bccd45e
Merge pull request #305 from michaeljtsai/master
Share button now supports "EagleFiler Import" and "Add to Reading List".
2018-01-28 10:51:45 -08:00
Brent Simmons b32d45cd60 Add isOpen property to MainWindowController. 2018-01-27 15:04:45 -08:00
Brent Simmons 3ff00b7eb0 Make Go > Today, Unread, Starred commands work. Fix #310. 2018-01-27 12:39:07 -08:00
Brent Simmons bc1fe05e91 Move sentence about bindings to the right section. 2018-01-23 21:07:29 -08:00
Michael Tsai 063ed29d5d Share button now supports "EagleFiler Import" and "Add to Reading List".
List .URL before .string in the pasteboard types because otherwise the system will not propose sharing services that receive URLs but not text.
2018-01-22 11:02:29 -05:00
Brent Simmons 394274f1e5 Continue progress on inspector. 2018-01-21 11:35:50 -08:00
Brent Simmons 807ad99aad Add new articles to the timeline when a feed that affects the timeline gets new articles. Fix #166. 2018-01-20 16:54:18 -08:00
Brent Simmons 9fea9c2d12 Create and use fetchUnsortedArticles(for:), which is common code that needed to be a separate function. 2018-01-17 22:03:13 -08:00
Brent Simmons 21f1863cd0 Unbreak the build by commenting out some in-progress code. 2018-01-17 21:51:24 -08:00
Brent Simmons 6b059671f5 Make progress on reloading timeline when feed updates. 2018-01-17 17:28:09 -08:00
Brent Simmons c3bcf82713 Make the send-to-Micro.blog command work. Need some tweaking, but it mostly does the job. 2018-01-11 22:18:46 -08:00
Brent Simmons ccc699741d Decrease the opacity of the placeholder color for avatars in the timeline. 2018-01-09 21:33:13 -08:00
Brent Simmons 8b2f9b333a Make feed icons and favicons show up more quickly and reliably in the timeline. 2018-01-09 21:09:09 -08:00
Brent Simmons 1b0648cd18 Make feed icons show up more promptly and reliably in the timeline. 2018-01-08 21:34:39 -08:00
Brent Simmons 0a1642abdf Draw a white unread indicator in the timeline when the cell is selected and emphasized. Fix #112. 2018-01-06 14:33:16 -08:00
Brent Simmons 0d4a58e2ab Create and use an NSTableView extension method: indexesOfAvailableRowsPassingTest. 2018-01-06 12:12:31 -08:00
Brent Simmons cfcfe2b4b5 Make reloading the timeline cells even more efficient upon avatar-download. 2018-01-06 11:56:32 -08:00
Brent Simmons f9b4e192e0 Make updating the timeline cells more efficient after downloading an avatar. 2018-01-06 11:18:03 -08:00
Brent Simmons 45f3f49a1f Fix bug where user avatars wouldn’t always show up in the timeline view promptly. 2018-01-05 13:22:16 -08:00
Brent Simmons 665561e5eb Show avatars in the timeline at the right times. 2018-01-04 21:20:09 -08:00
Brent Simmons e2c36caeee Move favicons in the detail view to the right. They’re show when available and there’s no other feed icon or user avatar. 2018-01-03 13:14:14 -08:00
Brent Simmons 4bb5270860 Move template and style sheet to same group as ArticleRenderer. 2018-01-03 13:07:05 -08:00
Brent Simmons 867e775e69 Show feed icons and avatars in the timeline. 2017-12-31 12:10:30 -08:00
Brent Simmons b35193b823 Make timeline cell height calculation reliable by considering all the rects, instead of assuming that one or another is the determining rect. 2017-12-31 12:08:25 -08:00
Brent Simmons 04c35dc1bf Comment out code for showing favicons in the timeline, since I don’t think we’re going to do that. But not totally sure yet. 2017-12-30 16:12:49 -08:00
Brent Simmons befc5efc77 Show feed names and favicons in timeline when appropriate.
I don’t quite like this. Maybe avatars are better.
2017-12-30 12:45:10 -08:00
Brent Simmons 0c54e61fbc Update the showFeedNames timeline property based on what will be shown in the timeline. 2017-12-30 10:56:58 -08:00
Brent Simmons 5dd20264bf Use feed icon’s gathered from HTML metadata. 2017-12-29 20:41:41 -08:00
Brent Simmons d2d7369d6a Show favicon in detail view when available and when there’s no user avatar or feed icon. 2017-12-29 20:04:43 -08:00
Brent Simmons 7f7f9c5166 Add note about messy code. 2017-12-29 19:03:52 -08:00
Brent Simmons 65fcbf00bf Show just one avatar in detail view. Make date a permalink, when available. 2017-12-29 18:59:04 -08:00
Brent Simmons 4be6df2c56 Continue experimentation with detail view avatars. 2017-12-29 17:10:50 -08:00
Brent Simmons 708e46ed18 Make progress on showing avatars in the detail view. 2017-12-29 12:21:19 -08:00
Brent Simmons d7e5c88b8f Create byline for detail view. 2017-12-29 11:31:47 -08:00
Brent Simmons a210dd2318 Make detail status bar show only on mouseover of a link. Don’t have an always-present view of the permalink. (We’ll see how this goes.) 2017-12-28 18:41:01 -08:00
Brent Simmons 953a97afd7 Use an image for feeds that don’t have favicons. Currently using the image at /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/BookmarkIcon.icns — but this might change. 2017-12-28 18:11:12 -08:00
Brent Simmons 99f2c01a04 Go back to using storyboard for Feed Directory. 2017-12-28 16:37:30 -08:00
Brent Simmons 25ed41aacc Use standard folder icons in the main window’s source list. 2017-12-27 18:04:36 -08:00
Brent Simmons c19dba6998 Don’t crash when cellAppearance is nil. 2017-12-27 18:00:17 -08:00
Brent Simmons 1d2d048207 Create two UTI types for articles, one public and one internal. 2017-12-26 16:18:46 -08:00
Brent Simmons 5965d92b13 Remove unneeded ; character. 2017-12-26 16:18:19 -08:00
Brent Simmons 9ec6188395 Popup a share menu on clicking the Share toolbar item. Fix #40. 2017-12-26 12:50:34 -08:00
Brent Simmons b08281c861 Add keyboard shortcut for mark-older-as-read: the o key. (Oh, not zero.) 2017-12-25 12:29:13 -08:00
Brent Simmons 2dbb0a4988 Validate the Mark Older Articles as Read command. 2017-12-25 12:21:44 -08:00
Brent Simmons de70a4d539 Clean up. Drop the panic button mark-everywhere-read UI bits, since they’re no longer used. 2017-12-25 10:48:49 -08:00
Brent Simmons c38b46a29e Implement markOlderArticlesAsRead. Fix #199. 2017-12-25 10:40:06 -08:00
Brent Simmons 1cb2a32b5a Merge branch 'master' of https://github.com/brentsimmons/Evergreen 2017-12-24 10:28:44 -08:00
Brent Simmons 5241f936c0 Use setPointAndSizeAdjustingForScreen for setting size and position of main window on first run. 2017-12-24 10:28:34 -08:00
Brent Simmons 24fb1f0356 Fix infinite loop that could happen on going to next unread. Fix #269. 2017-12-23 22:18:42 -08:00
Brent Simmons 9c249ef6b2 Position the window on first-run exactly once. Opening a second window should not place it in the same position as the first. 2017-12-21 14:47:12 -08:00
Brent Simmons a4c82739b6 Implement next and previous subscription navigation. Also: on first-run, position and size the window a bit nicer. 2017-12-21 14:43:29 -08:00
Brent Simmons 84845c21b3 Make sidebar expand/collapse keyboard shortcuts work. 2017-12-21 11:09:07 -08:00
Brent Simmons 70000c1d31 Progress on keyboard shortcuts. Add link to Technotes in Help menu. Fix #266. 2017-12-20 21:23:48 -08:00
Brent Simmons ac3947b164 Continue progress on keyboard shortcuts. 2017-12-20 20:51:17 -08:00
Brent Simmons 85e0a9739d Implement scrollOrGoToNextUnread. 2017-12-20 13:39:31 -08:00
Brent Simmons 6879c172c2 Make a bunch of progress on keyboard commands. 2017-12-20 12:59:31 -08:00
Brent Simmons b0fc2e7391 Add plists defining global and sidebar keyboard shortcuts. 2017-12-20 12:55:29 -08:00
Brent Simmons 6371c0e9d2 Make right-arrow work to go from sidebar to timeline. Make left-arrow work to go from timeline to sidebar. 2017-12-19 15:24:38 -08:00
Brent Simmons fcda565d91 Remove references to tags. Fix #259. 2017-12-18 18:20:13 -08:00
Brent Simmons 7d68e3322c Reuse account nodes, which should fix at least one cause of the bug where sometimes the On My Mac group item collapses when it shouldn’t. 2017-12-18 12:43:18 -08:00
Brent Simmons c65757bab3 Delete appInfo stuff — it was confusing and overkill as a UserInfo helper. 2017-12-18 12:34:07 -08:00
Brent Simmons e091f1c609 Skip fetching unread counts on changing sidebar selection. It’s not needed and it’s expensive. This provides a major performance boost when using my 2500-feed test. 2017-12-18 10:00:06 -08:00
Brent Simmons ebe43c43f8 Draw template images with 0.75 alpha in the sidebar. 2017-12-17 10:52:31 -08:00
Brent Simmons 76f3fa7498 Use SmallIconProvider in SidebarViewController to get icons for sidebar objects. 2017-12-17 10:51:46 -08:00
Brent Simmons f133b539ca Create SidebarStatusBarView. 2017-12-16 16:36:35 -08:00
Brent Simmons 59f06ea764 Create Smart Feeds group item in sidebar. Fix #216. 2017-12-16 11:16:32 -08:00
Brent Simmons 2efcd7ea0c Get rid of the window status bar. Put the current URL at the bottom of the detail view. 2017-12-16 10:18:02 -08:00
Brent Simmons e6dee88e2e Update only the favicon in the sidebar when a favicon is downloaded — no need to update the rest of the cell. 2017-12-13 21:16:52 -08:00
Brent Simmons bef77bc4a1 Create and use a plain-background NoSelectionView to display in the detail pane when there’s no current article. Fix #237. 2017-12-03 12:45:34 -08:00
Brent Simmons 05b158e92f Show a visual effect view, with behind-window-blending, when there is no selected Article. Fix #214.
After I check this in I’m going to reverse it, because it’s just too obtrusive. But this way there’s a record of having tried it, plus code.
2017-12-03 12:38:44 -08:00
Brent Simmons 4e05f35f6d Set userAgent on detail view webview. Fix #236. 2017-12-03 12:13:44 -08:00
Brent Simmons c83e0ca68d Do quite a bit less work on resizing the timeline. Fix #175. 2017-12-02 22:18:43 -08:00
Brent Simmons 3da2521e8e When adding a feed, update it right away rather than waiting for the next Refresh. Fix #147. Fix #215. 2017-12-02 17:47:08 -08:00
Brent Simmons ef988199cc Make main window title-less again — but allow for a hidden pref to change that: KafasisTitleMode. 2017-12-02 14:54:12 -08:00
Brent Simmons 6c135c80b0 Add TimelineHeaderView. 2017-11-29 13:35:25 -08:00
Brent Simmons 229a376a86 Don’t show avatars in the timeline (for now). Also: align to the top, and scale down-only (not up). This will allow us to use favicons when a bigger icon isn’t available. 2017-11-29 13:10:01 -08:00
Brent Simmons dd05a24704 Do the first parts of showing feed avatars. 2017-11-28 21:39:09 -08:00
Brent Simmons 7bf8d51c38 Add stub for laying out avatar image view. 2017-11-27 13:16:08 -08:00
Brent Simmons 09926490a6 Add avatarImageView to timeline cell. 2017-11-27 13:10:57 -08:00
Brent Simmons 4e50529b16 Add FeaturedImageDownloader. 2017-11-26 19:57:45 -08:00
Brent Simmons 441a8f49b3 Add AuthorAvatarDownloader. 2017-11-26 13:16:32 -08:00
Brent Simmons 4052f85e10 Add avatar and featuredImage to TimelineCellData. 2017-11-25 21:27:35 -08:00
Brent Simmons 1047fa5a02 Use the proper index sets and so on to make deleting work from the sidebar again. Fix #192. 2017-11-25 17:44:54 -08:00
Brent Simmons 17662ef337 Simplify functions for applying functions to cells. 2017-11-25 16:16:03 -08:00
Brent Simmons 7b964e05f9 Avoid looking for favicon when updating only a cell’s unread count. Micro-optimization. 2017-11-25 15:21:35 -08:00
Brent Simmons 68c01491fc Note when feed settings change and update the sidebar cells. 2017-11-25 13:48:14 -08:00
Brent Simmons 5ddf9ea284 Update sidebar when favicon becomes available. Fix #125. 2017-11-25 11:14:42 -08:00
Brent Simmons 226a7d05b6 Use 97% white background for source list, since favicons look so very terrible on standard translucent sidebar background. 2017-11-24 22:05:10 -08:00
Brent Simmons f7e3a4e914 Make progress on showing favicons in the source list. 2017-11-24 21:57:28 -08:00
Brent Simmons 4cf3f8dfe7 Create and use SidebarCellAppearance and SidebarCellLayout with SidebarCell. 2017-11-24 21:39:59 -08:00
Brent Simmons b4ff1785ab Switch from download to downloadUsingCache where appropriate. 2017-11-23 10:29:00 -08:00
Brent Simmons d6e436c47f Darken the splitview dividers. 2017-11-21 20:47:35 -08:00
Brent Simmons 1288309995 Make window have a title — this allows people to show labels for toolbar items. 2017-11-21 13:12:22 -08:00
Brent Simmons 8fc7445a7a Disallow selecting group items. Fix #193. 2017-11-19 21:01:16 -08:00
Brent Simmons f885c918d2 Switch back to using a source list sidebar. We’ll see how it goes once we add favicons. 2017-11-19 20:42:37 -08:00
Brent Simmons ffaa55c50c Implement mark-everywhere-as-read. 2017-11-19 16:28:26 -08:00
Brent Simmons 9c2dd9251f Move mark bulk read commands to Panic Buttons submenu. 2017-11-19 15:45:20 -08:00
Brent Simmons 55be38269f Treat Folder and Account as Container in SidebarTreeControllerDelegate. Also: add pseudo feeds. 2017-11-19 12:59:37 -08:00
Brent Simmons 911e992b76 Use a Swift name for rs_performSelectorCoalesced — make it performSelectorCoalesced:with:delay:. 2017-11-19 11:42:22 -08:00
Brent Simmons 197ceefea9 Expand group items by default. Fix #187. 2017-11-18 17:10:47 -08:00
Brent Simmons 23ae585b12 Add a group-style row for accounts. 2017-11-18 16:56:36 -08:00
Brent Simmons b3b8c73f1c Set window title’s visibility to hidden. Fix #186. 2017-11-18 12:13:28 -08:00
Brent Simmons cb434863e5 Lighten the split view divider color. 2017-11-18 12:08:18 -08:00
Brent Simmons 1f26a83ed8 Use a layer for background color for timeline table cell. Don’t use drawRect: for performance reasons. 2017-11-18 11:39:25 -08:00
Brent Simmons c459bd1a4e Add Panic Button UI. 2017-11-16 18:23:07 -08:00
Brent Simmons 1e713e3bfd Update Account unread count when BatchUpdate did perform. 2017-11-15 13:26:10 -08:00
Brent Simmons baaf9c1a02 Run the new-folder sheet on the frontmost window. 2017-11-15 13:13:40 -08:00
Brent Simmons 00ff9016bc Draw using proper background color when selected but not emphasized. Fix #152. 2017-11-12 12:16:27 -08:00
Brent Simmons 861afa06c7 Draw a background color for the timeline cell, and make it opaque, so it looks not-weird when dragging. 2017-11-11 21:53:43 -08:00
Brent Simmons 51825f8f05 Write dragged feeds with various UTI types, including a custom feed type. 2017-11-07 21:14:58 -08:00
Brent Simmons 06de21776a Allow article drag from timeline view to other apps. Write URL on dragging. 2017-11-06 22:06:42 -08:00
Brent Simmons b79ded1eb9 Write the string plist for the article. 2017-11-06 13:29:53 -08:00
Brent Simmons f452021bd2 Create an ArticlePasteboardWriter, and return it from the timeline’s data source delegate method pasteboardWriterForRow. 2017-11-06 13:20:29 -08:00
Brent Simmons a7464daf15 Mark Read command now works. 2017-11-05 21:27:34 -08:00
Brent Simmons 11aa68fd6f When timeline reloads due to a change in sidebar selection, post the selection-did-change notification so that status bar view and detail view can go blank (instead of continuing to show the previous selection). 2017-11-05 20:59:30 -08:00
Brent Simmons 8401d0f2f9 Display the mouseover link in the status bar, and remove it on mouseexit. 2017-11-05 20:42:27 -08:00
Brent Simmons 3fcede7fb4 Add JavaScript and native message handler for getting mouseover urls from the detail view’s WKWebView. 2017-11-05 20:31:50 -08:00
Brent Simmons 9818278c9b Make undo deleting feeds/folders work. 2017-11-05 12:14:36 -08:00
Brent Simmons 57296279e4 Switch back to AnyObject from AnyHashable, because of http://openradar.appspot.com/34824398 2017-11-04 23:05:20 -07:00
Brent Simmons e16911b363 Make deleting work. Can’t undo yet. But now everything is messed-up because of an AnyHashable casting bug. Don’t run this build. 2017-11-04 22:51:14 -07:00
Brent Simmons c08bbaa970 Use AnyHashable instead of AnyObject as representedObject for tree nodes. 2017-11-04 15:27:32 -07:00
Brent Simmons ef1d95341b Show feeds in Feed Directory sidebar. 2017-11-04 14:53:21 -07:00
Brent Simmons 0960477be6 Move undoable commands into TimelineViewController private extension. 2017-11-04 10:39:47 -07:00
Brent Simmons b2ad739caf Move table view data source and delegate back to TimelineViewController — it’s simpler that way. 2017-11-04 10:35:34 -07:00
Brent Simmons 911e6b0879 Do some refactoring. 2017-11-01 22:40:28 -07:00
Brent Simmons af3f41fbda Start ArticleArray.swift. 2017-11-01 20:45:38 -07:00
Brent Simmons 69718e2dde Fix some build errors. 2017-10-31 20:33:41 -07:00
Brent Simmons b048e3fd58 Move the timeline table’s data source a separate file/class. 2017-10-30 08:23:01 -07:00
Brent Simmons 17b84ec57c Rename MarkAllReadCommand to MarkReadOrUnreadCommand and make it handle both cases. 2017-10-29 12:09:56 -07:00
Brent Simmons 9fbce42959 Clear undoableCommands when the articles array changes. 2017-10-29 11:44:35 -07:00
Brent Simmons 5f848f568a Begin support for clearing undo commands on sidebar selection change. 2017-10-29 11:28:45 -07:00
Brent Simmons f9b3eeb4d7 Switch macOS deployment target to 10.13. Get MarkAllReadCommand working as an undoable command. 2017-10-29 11:14:10 -07:00
Brent Simmons 8d5e568cde Make folder.account weak and optional. 2017-10-21 16:37:40 -07:00
Brent Simmons 71e8a9131d Make progress on fixing adding feeds. 2017-10-21 15:56:01 -07:00
Brent Simmons 4118e4a2d5 Make progress on fixing adding feeds. 2017-10-21 15:04:59 -07:00
Brent Simmons b74d2e1a3c Change AddFeedWIndowControllerDelegate to use Container instead of Folder. 2017-10-21 13:33:08 -07:00