Commit Graph

267 Commits

Author SHA1 Message Date
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
Brent Simmons ebf1e36f38 Removed an extraneous line of code. 2017-10-21 13:32:36 -07:00
Brent Simmons 595af2561d Use TreeController.normalizedSelectedNodes in the delete action. 2017-10-21 12:14:45 -07:00
Brent Simmons e0f872a8c7 Differentiate between navigation keys and other keys-that-are-handled in keyDown. 2017-10-21 12:13:20 -07:00
Brent Simmons f6f4680e10 Handle the Delete key in the sidebar. 2017-10-21 10:55:20 -07:00
Brent Simmons 4c017dab10 Update unread counts after fetching articles on changing selection in the sidebar. 2017-10-19 21:56:30 -07:00
Brent Simmons 5289a68433 Create and use childNodesForContainerNode, which replaces two functions doing the same thing. 2017-10-19 21:52:45 -07:00
Brent Simmons 1481d72ed1 Fix node duplication bug on rebuilding tree. 2017-10-19 21:38:50 -07:00
Brent Simmons aca8acea7c Update sidebar when adding a folder. 2017-10-19 13:27:59 -07:00
Brent Simmons 3812c216b2 Show unread count in window title. 2017-10-18 21:53:45 -07:00
Brent Simmons 2383ecd480 Implement ensureFolder — it actually creates and adds a folder and makes sure account is saved to disk. 2017-10-18 19:46:35 -07:00
Brent Simmons f5a5bf91b2 Update unread counts for feeds when statuses change. 2017-10-09 21:54:08 -07:00
Brent Simmons 106cedb638 Fix sort order in timeline. 2017-10-09 08:32:26 -07:00
Brent Simmons 6572631866 Update the timeline cell when an article’s status changes. 2017-10-08 21:06:25 -07:00
Brent Simmons 8aa3746cb8 Add code for fetching articles for the timeline. Doesn’t actually work yet, though, for some reason. 2017-10-08 18:58:15 -07:00
Brent Simmons ca611623aa Simplify Container and its function implementations. 2017-10-07 21:41:21 -07:00
Brent Simmons c6f683c34c Make Account, rather than its delegate, watch for refresh progress changes. This way the delegate doesn’t have to be inited with its Account. 2017-10-07 17:43:10 -07:00
Brent Simmons b77569f38b Create and use CombinedRefreshProgress, which reports refresh progress across all accounts. Used by the status view. 2017-10-07 17:20:19 -07:00
Brent Simmons 5d8aa94dc3 Keep track of refresh beginning and finishing. Validate the refreshAll command (menu, toolbar). 2017-10-07 14:40:14 -07:00
Brent Simmons 6a1c39d8a3 Remove Notifications.swift from Data.framework. Clean up UnreadCountProvider. 2017-10-07 11:56:22 -07:00
Brent Simmons 0f19fda54d Use BatchUpdate.shared. 2017-10-05 20:38:54 -07:00
Brent Simmons c258a9da5c Rewrite and move BatchUpdate.swift. 2017-10-05 20:34:29 -07:00
Brent Simmons b53626fc84 Make super minor edits. 2017-10-05 20:03:35 -07:00
Brent Simmons 119a03e891 Create windowAutosaveName just once. 2017-10-05 18:17:07 -07:00
Brent Simmons 4d77dbfd36 Make a Browser struct with two static methods to replace two top-level functions. 2017-10-05 18:12:58 -07:00
Brent Simmons 33e6e72d21 Fix crashing bug. Now the app window appears! Without any data in it, sure, but hey. 2017-10-05 13:15:32 -07:00
Brent Simmons b8f69779ed Fix build error. The app builds and runs now — and then crashes. But still, it’s progress! 2017-10-05 13:09:09 -07:00
Brent Simmons 83231ed373 Fix some build errors. 2017-10-02 13:15:07 -07:00
Brent Simmons 0630a89df3 Fix more build errors. 2017-10-02 00:53:58 -07:00
Brent Simmons cb4027a951 Fix some build errors. 2017-10-01 11:28:44 -07:00
Brent Simmons 04612049f5 Make progress on adding feeds. 2017-10-01 10:59:35 -07:00
Brent Simmons a910841c65 Add createFeed method. 2017-09-30 16:56:48 -07:00
Brent Simmons 2978d4420b Start work on adding feeds and folders. 2017-09-25 13:31:36 -07:00
Brent Simmons 21080a97fc Start work on feed importing. 2017-09-24 22:35:57 -07:00
Brent Simmons 4d677b2055 Fix a bunch of build errors. 2017-09-24 12:24:44 -07:00
Brent Simmons 8c0c8db824 Make minor cleanups. 2017-09-23 13:59:19 -07:00
Brent Simmons 0843c10bc5 Remove accountInfo references. This was speculative anyway. I’ll figure out later what we actually need. (Which might be accountInfo after all, and might not be.) 2017-09-22 08:06:06 -07:00