Commit Graph

337 Commits

Author SHA1 Message Date
Brent Simmons
40beb54905 Update ToDo. 2017-10-21 13:32:45 -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
edea37dba6 Add TreeController.normalizeSelectedNodes and supporting functions in Node. 2017-10-21 12:14:15 -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
c08a78299a Update ToDo. 2017-10-21 10:56:22 -07:00
Brent Simmons
2442d02ba1 Make the sidebar translucent. At least for now. May need to change it back when we add favicon. 2017-10-21 10:56:13 -07:00
Brent Simmons
f6f4680e10 Handle the Delete key in the sidebar. 2017-10-21 10:55:20 -07:00
Brent Simmons
702559cfb1 Define kDeleteKeyCode for use in key handling. 2017-10-21 10:54:59 -07:00
Brent Simmons
6a5e668e9d Update ToDo. 2017-10-20 08:45:39 -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
913a5f46a0 Make New Folder a default toolbar item. (I learned this exact lesson many years ago: if New Folder isn’t in the toolbar, people will request that the app support folders.) 2017-10-19 13:30:49 -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
31947854c0 Add AccountDelegate methods for reading and writing a userInfo dictionary that’s stored on disk in the same file as the rest of the Account info. Save account unreadCount with the disk dictionary. Mark an account as dirty when any descendant changes an unread count. 2017-10-18 19:14:40 -07:00
Brent Simmons
39599a43f3 Make hasAtLeastOneFeed() a Container protocol function with a default implementation. Scrap Account’s feedIDDictionary, since it’s not needed. (Well, profiling may tell us later to bring it back.) 2017-10-18 18:45:09 -07:00
Brent Simmons
fe29ccd2ed Show unread count in dock badge. Force-update unread counts at startup. 2017-10-18 18:37:45 -07:00
Brent Simmons
324f330a3b Use localizedStandardCompare when sorting Account names. It’s likely I got the order backwards, but I won’t know until we have accounts other than the local account. (I always get this backwards, even knowing that I always get it backwards.) 2017-10-18 18:21:36 -07:00
Brent Simmons
19b8d5fbfc Update ToDo. 2017-10-18 18:14:38 -07:00
Brent Simmons
f90bf3bea1 Rename childrenContainsFeed to childrenContain. Add assertionFailure — expecting pointer equality. 2017-10-18 18:13:49 -07:00
Brent Simmons
3ea60cb461 Handle unread count change notifications in Folder. Update the unread count when needed. 2017-10-13 06:58:15 -07:00
Brent Simmons
505f4bcdba Handle unread count did change notification in Account. 2017-10-13 06:50:33 -07:00
Brent Simmons
4897181909 Avoid a compiler bug with constrained Set extensions. Add a notification observation to Account when unread count changes. 2017-10-12 21:02:27 -07:00
Brent Simmons
165e74a3f3 Refactor status change handling in Account. 2017-10-10 13:23:12 -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
77042f67b5 Include updated feeds in StatusesDidChange notification, so that updating unread counts will work. 2017-10-08 22:25:33 -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
e66e6083c7 Update ToDo. 2017-10-08 19:38:46 -07:00
Brent Simmons
8a6b8bde9b Remove some inaccurate assertions about the main thread. 2017-10-08 19:33:37 -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
4b662efe15 Comment-out some debugging code. 2017-10-08 01:56:18 -07:00
Brent Simmons
1b44591692 Save new and updated articles to the database. 2017-10-08 01:54:37 -07:00
Brent Simmons
ca611623aa Simplify Container and its function implementations. 2017-10-07 21:41:21 -07:00
Brent Simmons
dccb215c76 Set account to dirty after importing feeds. 2017-10-07 20:28:39 -07:00
Brent Simmons
7f6f6f9061 Set the account to dirty upon updating some Feed properties. 2017-10-07 20:25:17 -07:00
Brent Simmons
c52eb024ab Avoid resetting the save timer so often during a refresh session. Instead just remove it (if refreshing) and add it back when the refresh session ends. 2017-10-07 20:24:58 -07:00
Brent Simmons
0ba557736e Avoid saving account to disk during a refresh session. Reschedule the timer and do it later. 2017-10-07 20:11:17 -07:00
Brent Simmons
d8e723db46 Fix typo — send correct notification on account finishing refresh. 2017-10-07 18:31:34 -07:00
Brent Simmons
ade76d6405 Save to disk when needed. Coalesce writing, so it doesn’t happen over and over during a refresh session. 2017-10-07 18:15:42 -07:00
Brent Simmons
bed43dd3d6 Call the completion block in Account.update, so the refresher can do its thing properly. Also: update ToDo. 2017-10-07 17:53:37 -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
7ddc09c2ec Update default feeds to account for newer canonical URLs for some of the feeds. 2017-10-07 14:42:21 -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
ea63f5e343 Update ToDo. 2017-10-07 12:40:24 -07:00
Brent Simmons
ab82febb9a Move Account/Local folder to Account/LocalAccount, to make it easier to spot (since LocalAccount is its name). Also: wire up refreshing. Make organization changes to LocalAccountRefresher. 2017-10-07 12:40:14 -07:00