Commit Graph

599 Commits

Author SHA1 Message Date
Maurice Parker e61efbe47a Split AccountsDidChange notification into both add and delete notifications and automatically expanded new accounts on iOS 2019-09-08 09:43:51 -05:00
Maurice Parker 7f4027a527 Make sure we respect the expanded state of the sections when rebuilding the shadow table 2019-09-08 08:55:07 -05:00
Maurice Parker 9dc8f8d37a Clear the timeline if the deleted feed is showing in the timeline 2019-09-08 08:40:15 -05:00
Maurice Parker fc6341704b Make Add Feed activity indicator adopt darkmode appearance 2019-09-08 08:37:59 -05:00
Maurice Parker 51e37373df Don't block feedburner links as there are valid scenarios for those 2019-09-08 08:31:13 -05:00
Maurice Parker 8b901819a6 Make table views scroll even if the root split is collapsed 2019-09-08 08:30:08 -05:00
Maurice Parker 5bfeb77706 Update Add Account to use correct form of sheet showing 2019-09-08 06:43:29 -05:00
Maurice Parker 1caaf3c154 Organize settings folder 2019-09-08 04:52:05 -05:00
Maurice Parker 2497c50ade Add padding to settings account header to make it look like the other section headers 2019-09-08 04:48:30 -05:00
Maurice Parker bfdafee2ea Center service headings in add sync service scenes 2019-09-08 04:09:05 -05:00
Maurice Parker fe874f3ca7 Update Settings for Accounts to work with the latest SwiftUI 2019-09-07 20:50:57 -05:00
Maurice Parker a01b9ebe73 Add Done button to Setting modal 2019-09-07 16:43:44 -05:00
Maurice Parker dcd2a9c4f6 Reimplement Import and Export OPML 2019-09-07 15:30:54 -05:00
Maurice Parker a4b30c2f0e Add refresh interval to settings again 2019-09-07 14:33:15 -05:00
Maurice Parker 3b4ec7262f Refactor website links to make code clearer and more concise 2019-09-07 14:10:20 -05:00
Maurice Parker 22553b661d Begin to convert Settings to the latest SwiftUI 2019-09-07 14:00:31 -05:00
Maurice Parker ec4a6f3e0a Add search articles keyboard shortcut and make search work in three panel mode 2019-09-07 09:01:29 -05:00
Maurice Parker 12e417d311 Fix detail view link color. Issue #965 2019-09-06 18:14:51 -05:00
Maurice Parker 7d8a0234b6 changed to queue a reload of all visible cells when a favicon comes in 2019-09-06 17:22:12 -05:00
Maurice Parker a6f6462afd Make arrow key scrolling work like it does on the Mac timeline 2019-09-06 13:45:45 -05:00
Maurice Parker c8b5b10edd Check if the split is collapsed to see if we are maintaining the selection 2019-09-06 11:22:35 -05:00
Maurice Parker aa7c60ee3a Prevent row selection on iPhone as keeping selected rows highlighted is an iPad only feature 2019-09-06 11:11:28 -05:00
Maurice Parker cdbaeda97b Return to the Feeds scene when Add is executed using a keyboard shortcut key in another scene 2019-09-06 10:57:37 -05:00
Maurice Parker cc1c45095c Make feeds become first responder on load so that the keyboard is ready to go on initial app launch 2019-09-06 10:52:21 -05:00
Maurice Parker d0570d16a8 Prevent attempt to restore article selection when there are no articles 2019-09-06 10:38:02 -05:00
Maurice Parker 9f6203e839 Improve launch performance and fix Search home page quick action 2019-09-06 10:29:00 -05:00
Maurice Parker d6ea701d26 Prevent global keyboard shortcuts from being executed in modal dialogs 2019-09-06 07:58:36 -05:00
Maurice Parker 9b17293f4e Fix bugs in automated routing on application launch 2019-09-06 07:29:36 -05:00
Maurice Parker 1e7ed5bf35 Make the scrolling check more succinct and readable 2019-09-05 21:19:00 -05:00
Maurice Parker a2dda5f0f8 Add scroll or go to next unread keyboard shortcut 2019-09-05 21:14:19 -05:00
Maurice Parker 18d442d901 Add select previous unread keyboard shortcut 2019-09-05 18:02:40 -05:00
Maurice Parker 6d24ea642a Add expand and collapse all folders shortcuts 2019-09-05 16:38:33 -05:00
Maurice Parker 734ce4bc67 Rename expand and collapse functions to be more descriptive 2019-09-05 16:08:57 -05:00
Maurice Parker 953259f0d3 Add selected row expanding and collapsing keyboard shortcuts 2019-09-05 16:04:07 -05:00
Maurice Parker c9fd7d01d9 Add delete feed keyboard shortcut 2019-09-05 15:54:58 -05:00
Maurice Parker 9a52834b7a Implement shortcuts found in the Articles menu of NNW for Mac 2019-09-05 15:43:01 -05:00
Maurice Parker afce6ff26f Add keyboard shortcuts for Add Feed and Add Folder 2019-09-05 15:07:35 -05:00
Maurice Parker 7582ade6f5 Implement more keyboard shortcuts 2019-09-05 14:50:05 -05:00
Maurice Parker 73828e5115 Remove the coordinator dependency from KeyboadManager as it wasn't needed 2019-09-05 14:37:07 -05:00
Maurice Parker 988ec75d75 Added Brian Warren's image stretching fix to the iOS app 2019-09-05 13:21:14 -05:00
Maurice Parker ac37443dbb Stubbed out menu item keyboard shortcuts and implemented the numbered ones 2019-09-05 13:14:14 -05:00
Maurice Parker efd17502e0 Stub out all the global shortcut functions and move global shortcuts to the RootSplitViewController 2019-09-05 11:29:04 -05:00
Maurice Parker ac03992430 Fix bug in arrow key navigation where focus could get stolen from the timeline 2019-09-05 10:46:24 -05:00
Maurice Parker 7a452e2a3c Add keyboard arrow key navigation 2019-09-04 21:06:29 -05:00
Maurice Parker ae06544dd5 Add iframe to the list of max width elements to prevent youtube videos and others from being too large 2019-09-04 17:32:10 -05:00
Maurice Parker dabb78cde4 Merge branch 'mac-release' 2019-09-04 17:20:37 -05:00
Maurice Parker 8758d28cd7 Implement keyboard shortcut infrastructure and first shortcuts 2019-09-04 16:24:48 -05:00
Maurice Parker 68143aa2c5 Implement keyboard shortcut infrastructure and first shortcuts 2019-09-04 16:24:16 -05:00
Thomas Pritchard 091b43a9fb Apply figure styles to iOS as well 2019-09-04 19:58:30 +01:00
Maurice Parker 00a84ce6b5 Fix bug that prevented timeline from being restored after searching ends 2019-09-04 10:42:28 -05:00
Maurice Parker a29f69c0cb Create separate launch storyboard for iPad since we don't use large titles on iPad in three panel mode which is the only one you will see while launching 2019-09-04 04:46:13 -05:00
Maurice Parker 17a5d291f4 Remove become and resign first responder code in Feeds and Timeline 2019-09-03 20:39:00 -05:00
Maurice Parker fc872cf88f Add missing activity type 2019-09-03 19:58:48 -05:00
Maurice Parker 640faaa114 Simplify the article replacement logic 2019-09-03 16:07:02 -05:00
Maurice Parker 5cb099aee6 Add next unread as a user activity and more aggressively invalidate user activities 2019-09-03 15:52:59 -05:00
Maurice Parker e6a4338a86 Restore the feed selection if an account containing the selection is expanded 2019-09-03 13:59:22 -05:00
Maurice Parker b7ba2c809c Use better function for looking up article index 2019-09-03 13:43:59 -05:00
Maurice Parker bf572633f8 Enable drag and drop between accounts 2019-09-03 13:27:23 -05:00
Maurice Parker 960f09826b Add separator line to section headers so that they don't look smooshed together when collapsed 2019-09-03 13:00:31 -05:00
Maurice Parker 4bce625f18 Clear search results when no timeline fetcher is specified 2019-09-03 12:25:27 -05:00
Maurice Parker 2a00c879f8 Change to animate search results changes 2019-09-03 12:12:42 -05:00
Maurice Parker 2e71cc573d Cap the possible destination index used during Feed moves 2019-09-03 12:07:18 -05:00
Maurice Parker d5adbccd5b
Merge pull request #949 from correia/issue-948
Fix for issue #948 — bad highlight state for table cell views in light mode.
2019-09-03 11:56:14 -05:00
Jim Correia 061872b7ff Simplified/corrected highlighted/selected appearance of feed and timeline cells.
- Set the highlighted text color on labels in table cells. This will be used
  for both the highlight and selected states automatically. (And since it is
  used for both states, we avoid anachronistic state where we have black
  text on a dark blue background in light mode as we transition from none ->
  highlighted -> selected.)

- Keep the selected/highlighted overrides to adjust colors for non-UIControl
  subelements.
2019-09-02 22:39:01 -07:00
Jim Correia 932f6fdd30 Added NNWTableViewCell; a base class for cells with the NNW selection color.
Defined a semantic color for the selection color which is identical to
netNewsWireBlue.

MasterFeedTableViewCell and MasterTimelineTableViewCell now subclass
NNWTableViewCell and no longer directly customize their selected background
view.
2019-09-02 22:38:42 -07:00
Maurice Parker 0d6dbb6df3 Fix broken select next where it wasn't going to the next available fetcher in the Feeds scene 2019-09-02 17:28:28 -05:00
Maurice Parker 613cea5c7a Change next unread function so that it skips the current article even if that article is marked as unread 2019-09-02 17:24:20 -05:00
Maurice Parker fafb7de868 Remove Refresh shortcut item 2019-09-02 16:05:55 -05:00
Maurice Parker 93b702f170 Automatically copy any url in the pasteboard to the feed field for feed adds 2019-09-02 15:54:49 -05:00
Maurice Parker c5fed06581 Add refresh home screen shortcut. 2019-09-02 15:45:09 -05:00
Maurice Parker 2c4531f481 Add the Add scene as a home page quick action. 2019-09-02 15:14:26 -05:00
Maurice Parker b768877e23 Use correct delegate methods to begin and end searching 2019-09-02 12:40:14 -05:00
Maurice Parker 746c06d147 Prevent automated scrolling when selecting an article in the timeline 2019-09-02 12:05:11 -05:00
Maurice Parker c405fdf583 Implement search home page quick action 2019-09-01 17:41:46 -05:00
Maurice Parker 33882ab276 Add Home Page Quick Actions 2019-09-01 16:54:07 -05:00
Maurice Parker 189af8d816 Invalidate user activities when collapsed and returning to Feeds scene 2019-09-01 15:31:11 -05:00
Maurice Parker 1a9acdcc50 Remove TreeController from Delete command as it is no longer used there 2019-09-01 14:56:27 -05:00
Maurice Parker dfc3046bf0 Clear the timeline when the user begins searching 2019-09-01 14:49:56 -05:00
Maurice Parker a5298f0381 Refactor mark as read for articles to be in the SceneCoordinator instead of in the DetailViewController 2019-09-01 12:52:06 -05:00
Maurice Parker 858bdb7f21 Rename AppCoordinator to SceneCoordinator as that name better defines its purpose 2019-09-01 12:43:07 -05:00
Maurice Parker 43fb7dff9f Fix bug that prevented new folders from appearing in the Feeds 2019-09-01 10:29:30 -05:00
Maurice Parker 397d75c6f6 Restore animation when adds and deletes happen to feed items 2019-09-01 10:11:03 -05:00
Maurice Parker 27883632d0 Fix bug that prevented reading article user activities from being restored 2019-08-31 20:23:14 -05:00
Maurice Parker 87030a5921 Implement stateRestorationActivity to save most relevant current user activity 2019-08-31 19:30:21 -05:00
Maurice Parker 407bd296db Merge branch 'master' of https://github.com/brentsimmons/NetNewsWire 2019-08-31 17:37:49 -05:00
Maurice Parker 988ac1bbd8 Correct label color to specify correct platform 2019-08-31 17:37:42 -05:00
Maurice Parker 6caff148dd
Merge pull request #928 from correia/placeholder-content
Use noContentHTML rather than noSelectionHTML for prepared web views.
2019-08-31 17:20:52 -05:00
Jim Correia 5f11c42fc2 Use noContentHTML rather than noSelectionHTML for prepared web views.
Added a noContentHTML to ArticleRenderer. Use that for the initial content
for queued web views so that we don't see a temporary flash of "No
Selection" when pushing to an article that doesn't load instantly.
2019-08-31 15:03:03 -07:00
Maurice Parker c9858a0457 Show and hide scope bar based on editing state 2019-08-31 16:39:59 -05:00
Maurice Parker fe2e0155da Add scoped searching of articles 2019-08-31 15:53:47 -05:00
Maurice Parker ba36572497
Merge pull request #927 from correia/correia/webview-layout
Added missing constraints to the web container view in the Detail scene.
2019-08-31 15:27:52 -05:00
Jim Correia 77cf92ec13 Added missing constraints to the web container view in the Detail scene. 2019-08-31 13:20:23 -07:00
Jim Correia 52ad2623a8 Limit the size of the queue maintained by DetailViewControllerWebViewProvider. 2019-08-31 13:16:46 -07:00
Jim Correia f7b53283d6 Maintain a queue of "prepared" web views for use in DetailWebViewController.
WKWebView has an awful behavior of a flash to white on first load when in
dark mode.

Keep a queue of WebViews where we've already done a trivial load so that by
the time we need them in the UI, they're past the flash-to-shite part of
their lifecycle.
2019-08-31 12:53:03 -07:00
Jim Correia a5b2c759ec Create the WKWebView instance at runtime.
Specify a container view in the storyboard and create+install the web view
at viewDidLoad time.

This lets us experiment with solutions for providing a web view that avoids
the flash-to-white problem.
2019-08-31 12:30:01 -07:00
Jim Correia e5782ca464 Removed the hide the webview workaround to expose the flash to white problem. 2019-08-31 11:27:59 -07:00
Maurice Parker 67b9721a10 Made article search go fast 2019-08-31 12:12:50 -05:00
Maurice Parker 8002839941 Remove disclosure chevron from launch storyboard 2019-08-31 11:51:14 -05:00
Maurice Parker d9ce01591f Implement full article search 2019-08-31 11:50:34 -05:00
Maurice Parker 061dfe931b Restrict access to rebuildShadowTable function 2019-08-31 11:38:03 -05:00
Maurice Parker 2cf6550226 Implemented launch storyboard. Issue #742 2019-08-30 17:39:39 -05:00
Maurice Parker 762710266d Reload all cells when a batch update completes because we might be out of sync even though we called apply on the datasource. This can happen when moving a feed into and out of a folder. 2019-08-30 16:19:06 -05:00
Maurice Parker ca0bdb3d35 Change to not animate on timeline fetcher changes 2019-08-30 14:42:33 -05:00
Maurice Parker 07ca61f7cf Convert the timeline to use diffable datasources 2019-08-30 14:17:05 -05:00
Maurice Parker 3ab1412dc6 Preserve article selection when articles are downloaded (for iPad only) 2019-08-30 02:39:54 -05:00
Maurice Parker 86a302f787 Prevent selecting of items that may not show the current article selection as is done on the iPhone 2019-08-29 17:49:21 -05:00
Maurice Parker 6844762dfc Refresh smart feeds when they are selected and articles are downloaded 2019-08-29 15:02:45 -05:00
Maurice Parker b98877c7df Fix bug where Feeds wasn't getting updated when adding/subtracting or activating/inactivating accounts 2019-08-29 14:46:51 -05:00
Maurice Parker 197fc0170e Optimize and fix unread count updates 2019-08-29 14:35:18 -05:00
Maurice Parker 8e583c2fad Prevent scrolling when reloading and reselecting a cell. 2019-08-29 14:04:15 -05:00
Maurice Parker 379ba49fd5 Fix select position getting lost on refreshes 2019-08-29 11:53:36 -05:00
Maurice Parker be8c14bc65 Change to reload the individual row instead of just changing its contents 2019-08-28 20:21:50 -05:00
Maurice Parker 7062744758 Make sure we manually correct some state when using diffable datasources 2019-08-28 20:08:30 -05:00
Maurice Parker 89a38fa2b5 Change Feeds to use diffable data sources 2019-08-28 18:06:27 -05:00
Maurice Parker 9c66f6160e Clean activities when the associated data is deleted 2019-08-28 11:30:40 -05:00
Maurice Parker ba9f7ac426 Add navigation support for Folder and Feed view activities 2019-08-27 17:43:15 -05:00
Maurice Parker d641223536 Add Activities for viewing Feeds and Folders 2019-08-27 14:20:34 -05:00
Maurice Parker a1c74a03d1 Update to work with the enhanced FeedIconDownloader 2019-08-26 19:48:12 -05:00
Maurice Parker 6c98abb289 Fix image and favicon caching 2019-08-26 16:58:06 -05:00
Maurice Parker d7c90106d1 Change to directly modify the avatar image instead of calling reload on the cells 2019-08-26 15:37:15 -05:00
Maurice Parker c3e93f4b8c Fix scenario where multiple timelines could get pushed onto the navigation stack 2019-08-26 09:07:41 -05:00
Maurice Parker 3d408d0b27 Prevent autolayout from messing around with our disclosure chevron 2019-08-25 20:06:45 -05:00
Maurice Parker cf5fd4fa89 Invalidate content size correctly 2019-08-25 20:06:02 -05:00
Maurice Parker a0b11da438 Prevent autolayout from messing with our manually set frames 2019-08-25 20:00:34 -05:00
Maurice Parker 31715ad4f0 Handle user activities on a cold launch 2019-08-25 17:49:09 -05:00
Maurice Parker 1e1208f54d Update function name to match other like named functions 2019-08-25 17:08:39 -05:00
Maurice Parker a0636b8f47 Add Smart Feeds as User Activities 2019-08-25 17:04:15 -05:00
Maurice Parker dc6bf05ae4 Rename ActivityFactory to ActivityManager because it will also handle activity deletes in the future 2019-08-25 14:43:11 -05:00
Maurice Parker 0b48c3893d Change AppCoordinator to directly call controller API's since that matches the Coordinator pattern better than sending them notifications 2019-08-25 11:38:04 -05:00
Maurice Parker 313518698c add the ability to respond to NSActivityRequests 2019-08-24 19:31:29 -05:00
Maurice Parker 5b1c0485c5 Add NSUserActivity for reading articles 2019-08-24 14:57:51 -05:00
Maurice Parker 1ba60e2846 Fix bug that could cause a crash when an invalid indexPath was used to find a node in the shadow table 2019-08-23 13:23:13 -05:00
Maurice Parker 7f024586bb Add navigation and toolbar theming for light mode. Issue #698 2019-08-23 12:27:45 -05:00
Maurice Parker 5a5a66d59f Remove unneeded notifications 2019-08-22 16:50:20 -05:00
Maurice Parker 5088878721 Hack around WKWebView's white flashing that it does while loading content 2019-08-22 12:10:50 -05:00
Maurice Parker d67b9193c5 Add large titles to Feeds controller (again) 2019-08-22 11:16:07 -05:00
Maurice Parker c752d0b699 Optimize table cell loading so that we are no longer reloading all visible cells when an image is downloaded 2019-08-21 19:37:19 -05:00
Maurice Parker af98311c63 Change to use async fetch for major account changes 2019-08-21 15:58:55 -05:00
Maurice Parker 2719772701 Port async timeline fetching from desktop NNW 2019-08-21 15:27:53 -05:00
Maurice Parker b025b3ae46 fix typo in comment 2019-08-21 13:13:03 -05:00
Maurice Parker c4e2420966 Change to get currently selected unread count item from total number of articles shown in timeline 2019-08-21 13:10:08 -05:00
Maurice Parker eb8de035d7 Work around bug where cell tintColor isn't always correctly inherited from the window 2019-08-20 16:37:31 -05:00
Maurice Parker 9988847fba Fix bug where mark older than caused all articles in the timeline to be marked as read 2019-08-20 05:46:44 -05:00
Maurice Parker 64fd5016a9 Commenting out feed context menus due to buggy implementation in Beta 6 2019-08-20 05:43:39 -05:00
Maurice Parker b475f52871 Move show share dialog back to detail controller from coordinator 2019-08-19 18:13:21 -05:00
Maurice Parker 71343b9e72 Add Share context menu for timeline 2019-08-19 18:09:38 -05:00
Maurice Parker badc2d3e25 Add open in browser context menu item 2019-08-19 17:38:30 -05:00
Maurice Parker de7970314d Add mark all as read for feed functionality 2019-08-19 17:26:09 -05:00
Maurice Parker 40a80356f1 Move business logic out of controller into coordinator where we typically keep it 2019-08-19 16:03:07 -05:00
Maurice Parker 6087951824 Remove context menu titles as they didn't provide any additional context 2019-08-19 15:49:42 -05:00