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 |
Brent Simmons
|
f7c5919674
|
Send DownloadProgressDidChange notification only when numberOfTasks or numberRemaining actually change.
|
2017-10-07 12:37:11 -07:00 |
Brent Simmons
|
1bffbb7312
|
Use new UserAgent.headers() function. Reorganize — API up top, with extensions for protocol conformances.
|
2017-10-07 12:36:09 -07:00 |