Commit Graph

322 Commits

Author SHA1 Message Date
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
Brent Simmons b28a849af6 Continue march toward non-optional article.status. 2017-09-18 22:00:35 -07:00
Brent Simmons 54ca352a70 Continue fixing build errors. 2017-09-17 17:56:04 -07:00
Brent Simmons c74201d163 Continue fixing build errors. 2017-09-17 17:12:42 -07:00
Brent Simmons 92a60d8f06 Continue fixing build errors. 2017-09-17 17:03:58 -07:00
Brent Simmons 0336e30b0d Continue to fix build errors. 2017-09-17 16:30:45 -07:00
Brent Simmons 6631a9c2f8 Continue fixing build errors. 2017-09-17 13:07:55 -07:00
Brent Simmons c0ce68e64b Fix some build errors. 2017-09-17 12:54:08 -07:00
Brent Simmons 1b391c262e Continue working on build errors. 2017-09-17 12:34:10 -07:00
Brent Simmons 0ce18fe11a Replace references to DataModel with Data. 2017-09-17 12:22:15 -07:00
Brent Simmons 944f05c71e Commit major surgery but leave it unfinished. Everything is broken. 2017-07-01 17:22:19 -07:00
Brent Simmons 3773f7b1bf Replace Ranchero Software with Ranchero Software, LLC. 2017-05-29 13:17:58 -07:00
Brent Simmons 5ed5e8825b Avoid URL fragment in base URL, since the webview won’t accept that as a base URL. Fix #32. 2017-05-29 12:49:32 -07:00
Brent Simmons f87edca067 Make the window title visible, so that toolbar items can have labels. Fix #25. 2017-05-29 12:14:07 -07:00
Brent Simmons d335b1c4ad Add main window storyboard. 2017-05-27 11:20:05 -07:00
Brent Simmons 19ce82329b Add a whole ton more code. 2017-05-27 10:43:27 -07:00
Brent Simmons 5f565cc42e Add MainWindowSplitView. 2017-05-26 13:25:42 -07:00
Brent Simmons ef9d4edbd1 Add KeyboardDelegate. 2017-05-26 13:25:02 -07:00