Commit Graph

424 Commits

Author SHA1 Message Date
Brent Simmons
c80e3e86de Don’t save an Account to disk during a refresh session. Wait till it’s over. 2018-02-17 18:02:40 -08:00
Brent Simmons
3a94cf9a51 Create CoalescingQueue.standard, a shared instance. 2018-02-17 17:42:57 -08:00
Brent Simmons
64647c73c6 Use a coalescing queue (instead of a Timer) in Account for saving to disk. 2018-02-17 15:38:54 -08:00
Brent Simmons
4e7fc8efcb Remove rs_performSelectorCoalesced, since it’s been replaced by the CoalescingQueue. 2018-02-17 15:18:42 -08:00
Brent Simmons
d9cba50c89 Remove DiskSave from RSCore, since it’s unused. 2018-02-17 15:17:08 -08:00
Brent Simmons
0951b525f1 Add CoalescingQueue, a FIFO queue of target/selector pairs, used for things like updating table row cells — things that should be coalesced and can be delayed minimally. 2018-02-17 15:14:00 -08:00
Brent Simmons
0e2e0f7eea Do a case-insensitive match when checking for special-case feed URLs. 2018-02-16 13:15:20 -08:00
Brent Simmons
891416e7b7 Add a special case to the JSON Feed parser for feeds that include HTML entities in their titles. At the moment this is used for kottke.org and pxlnv.com. More could be added later, and these feeds could be removed if fixed. 2018-02-16 13:13:00 -08:00
Brent Simmons
f8f78810ef When detecting and parsing a potential JSON Feed, allow for the version URL to have the wrong scheme, as it does (at this writing) in https://pxlnv.com/feed/json/
Fix #347.
2018-02-14 20:56:02 -08:00
Brent Simmons
2f21dbf6be Remove extraneous get { from a bunch of read-only accessors. 2018-02-14 13:14:25 -08:00
Brent Simmons
192439abe7 Make Folder watch for children-did-change notifications — when its own children change, update the unread count. Fix #322. 2018-02-12 22:22:06 -08:00
Brent Simmons
2b6c2eb5ba Create a PasteboardWriterOwner protocol and an NSPasteboard extension that references it. 2018-02-11 21:55:32 -08:00
Brent Simmons
a13d21395e Fetch starred articles for the Starred smart feed. 2018-02-11 12:07:55 -08:00
Brent Simmons
5aeb914ab6 Fetch articles for the Today smart feed. 2018-02-10 17:37:47 -08:00
Brent Simmons
863de80281 Add convenience method to Set<Article> for just getting unread articles. 2018-02-10 13:21:43 -08:00
Brent Simmons
00cf3934e5 Add fetchUnreadArticles method to Account, which will be used by the All Unread smart feed. 2018-02-10 13:00:16 -08:00
Brent Simmons
c77866c4d7 Add takeItems: method to a new NSMenu extension. 2018-02-09 22:10:36 -08:00
Brent Simmons
dcf758acc5 Pass menuForEvent: to the enclosing tableview. This gets contextual menus to appear in e timeline. 2018-02-09 21:40:09 -08:00
Brent Simmons
839780303f Add needed cast to return value in rs_enclosingTableView. 2018-02-09 21:39:33 -08:00
Brent Simmons
1b09d35c77 Add rs_enclosingTableView method as NSView category. 2018-02-09 21:33:13 -08:00
Brent Simmons
a6db249ab6 Add ArticleFetcher protocol. Add Feed and Folder extensions for it. 2018-02-04 10:57:41 -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
Olof Hellman
e038fb0fb5 convert Evergreen frameworks projects to use .xcconfig files. 2018-02-02 03:24:13 -08:00
Daniel Jalkut
56a39042f3 Remove Garbage-Collection-specific finalize method overrides, which were flagged by new deprecated OBJC methods warning. 2018-01-29 11:20:38 -05:00
Daniel Jalkut
3507313f84 Accept Xcode 9.3 recommended build settings. 2018-01-29 11:20:30 -05:00
Daniel Jalkut
68a8437ea2 It appears that libxml/parser.h must be explicitly imported as of Xcode 9.3. 2018-01-29 11:20:24 -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
fb45ae11eb Add URLPasteboardWriter to RSCore. It takes a string and writes a URL (if possible) and a string to the pasteboard. 2018-01-28 16:08:38 -08:00
Brent Simmons
ef8f508ee4 Add NSOutlineView extension methods: canSelectItem and selectItemAndScrollToVisible. 2018-01-27 12:34:53 -08:00
Brent Simmons
7ba2fe72dd Add descendantNodeRepresentingObject to Node.swift. 2018-01-27 12:03:17 -08:00
Brent Simmons
cf0d5cdc51 Remove unwanted debugging print statement. 2018-01-24 21:48:20 -08:00
Brent Simmons
f109237bfa Handle feed renames in the inspector. Handle multiple selection. Fix #137. 2018-01-23 21:49:33 -08:00
Brent Simmons
2cf0dbd96e Extend Notification.Name, not NSNotification.Name. 2018-01-22 22:00:01 -08:00
Brent Simmons
02ad70097e Send a Notification when a Folder’s name changes. 2018-01-22 21:59:13 -08:00
Brent Simmons
786138d6e7 Create postDisplayNameDidChangeNotification, so that a DisplayNameProvider can post a Notification when its name changes. 2018-01-22 21:58:53 -08:00
Brent Simmons
c692d357d2 Adjust for < 0 x origin. 2018-01-21 13:10:42 -08:00
Brent Simmons
ca5703e14f Keep the inspector’s top-left origin steady on changing views. 2018-01-21 12:46:22 -08:00
Brent Simmons
394274f1e5 Continue progress on inspector. 2018-01-21 11:35:50 -08:00
Brent Simmons
d3a0d8b8b7 Remove Inspector stuff from RSCore on YAGNI basis. Start work on inspector in Evergreen. 2018-01-20 19:06:07 -08:00
Brent Simmons
6b059671f5 Make progress on reloading timeline when feed updates. 2018-01-17 17:28:09 -08:00
Brent Simmons
d1e915394e Use properties rather than strings and KVC. Duh. 2018-01-15 12:28:35 -08:00
Brent Simmons
f4aca068ea Make SendToBlogEditorApp public in RSCore. 2018-01-15 12:21:54 -08:00
Brent Simmons
77bc330d8c Create SendToBlogEditorApp, which implements the sending side of the external blog editor interface: http://ranchero.com/netnewswire/developers/externalinterface 2018-01-15 12:11:28 -08:00
Brent Simmons
c63303f05a Add UserApp.targetDescriptor. 2018-01-15 12:10:57 -08:00
Brent Simmons
eaeb333120 Add NSAppleEventDescriptor category method: +descriptorWithRunningApplication:. 2018-01-15 12:10:31 -08:00
Brent Simmons
7a8e0ec4aa Increase the sleep interval for waiting for an app to launch. I’m sure there’s a better way to do this, but I don’t know what it is yet. 2018-01-14 11:19:19 -08:00
Brent Simmons
39d6086e0c Use %20 instead of + when encoding for URL query strings, since it appears to be more compatible. (Well, it works better with Micro.blog.) 2018-01-14 11:11:53 -08:00
Brent Simmons
75d0752a67 Make UserApp properties and methods public. 2018-01-14 11:00:29 -08:00
Brent Simmons
fd7c6d07ac Add UserApp class to RSCore. It represents an of the type usually found in /Applications. A UserApp may or may not be running and may or may not exist locally on disk. It could be entirely fictional, even. 2018-01-14 10:56:06 -08:00
Brent Simmons
f430d6a095 Add Dictionary and String extensions for creating URL query strings. Add tests. 2018-01-13 17:40:27 -08:00