Commit Graph

272 Commits

Author SHA1 Message Date
Jim Correia e7e77d362c Fix for bug #901 — first web view load flashes white in dark mode
The fix used for iOS (keep a queue of preloaded web views) isn't appropriate
for macOS since the first view is used immediately. That approach would
solve the flash of white when first searching, but not the flash of white
when launching the application.

Instead, use a modification of the original solution used for iOS:

    - wrap the web view in a box with an appropriate background color
    - hide the web view at creation
    - show the web view after* the first load

This doesn't suffer the latency problem that the same solution on iOS had
because the first load is always local, "No Selection" HTML.

[*] Showing the view immediately after the first load still causes the flash
    to white. Waiting 0.05 seconds avoids this. That's a fairly terrible hack,
    but I don't have a better solution at present.
2019-08-31 22:14:56 -07:00
Maurice Parker ecec048716 Merge branch 'mac-release' 2019-08-31 18:31:10 -05:00
Jim Correia cdfdc06142 Only enable "Open in Browser" when a single article is selected.
Fixes bug #921.
2019-08-31 16:02:21 -07:00
Maurice Parker 3c86bf0614
Merge pull request #871 from mbernson/master
Simplify sharing delegate logic
2019-08-27 11:13:00 -05:00
Maurice Parker 8de9b355c7 Merge branch 'mac-release' 2019-08-26 12:54:53 -05:00
Maurice Parker 1a3e2784ae Optimize table cell reloading when feed images are made available 2019-08-26 12:54:23 -05:00
Maurice Parker f8c01107d5 Merge branch 'master' of https://github.com/brentsimmons/NetNewsWire 2019-08-24 15:01:40 -05:00
Maurice Parker ea55aa5bef Leverage new avatarImage function from ArticleUtilities to reduce code duplication between macOS and iOS 2019-08-24 15:01:28 -05:00
Brent Simmons ed56376d03 Merge branch 'mac-candidate' 2019-08-23 18:55:09 -07:00
Brent Simmons 3447ebcec0 Reload data after a batch update. Fix #872. 2019-08-23 15:52:07 -07:00
Mathijs Bernson 9214e3d65e Simplify sharing item subject logic 2019-08-23 13:05:20 +02:00
Brent Simmons 1ab0f7c25c Merge mac-candidate. 2019-08-21 21:44:07 -07:00
Brent Simmons 849830f494 Refetch articles for smart feeds and folders, if selected, when a feed or folder is deleted. Fix #838. 2019-08-21 21:41:56 -07:00
Brent Simmons f513741ddb Start work on filtering timeline so that articles from deleted feeds never show up. 2019-08-21 13:23:46 -07:00
Brent Simmons 7b3c08f521 Merge branch 'mac-candidate' 2019-08-13 21:07:59 -07:00
Brent Simmons 2bbd135c9e Update appropriate counts in the sidebar when the timeline’s unread count changes. Fix #829. 2019-08-13 21:07:39 -07:00
Brent Simmons fc0fc2055e Get the unread count from the timeline, instead of the database, only for the Today feed and only if it’s selected and it’s the only node selected. 2019-08-13 20:29:04 -07:00
Brent Simmons cf1b3843ee Add a SmartFeedType to smart feeds so the sidebar can tell them apart. 2019-08-13 20:28:28 -07:00
Brent Simmons 62258683c8 Add Ryan’s word-wrap change to mac-candidate. 2019-08-13 20:07:42 -07:00
Ryan Dotson 6eb27abc13 Break long words or URLs to prevent horizontal overflow 2019-08-13 09:27:36 +09:00
Ryan Dotson c8f5a24b95 Use proper quotes in timeline contextual menu 2019-08-13 07:41:14 +09:00
Brent Simmons 34326863ea Merge branch 'mac-candidate' 2019-07-28 16:01:12 -07:00
Brent Simmons 887f8e0b53 Check to see if the timeline already has the expected representedObjects when the sidebar selection (apparently) has changed. If so, then don’t set the representedObjects again, and don’t knock the user out of search mode if searching. 2019-07-28 16:00:43 -07:00
Brent Simmons 2fcadf9748 Merge branch 'mac-candidate' 2019-07-28 15:31:45 -07:00
Brent Simmons 2441de960f Skip reloading the sidebar after the tree controller rebuilds when the rebuilt version is the same as the previous version. This saves some cycles, and it’s part of fixing #791. 2019-07-28 15:31:17 -07:00
Brent Simmons d8f1dcf23e Merge branch 'mac-candidate' 2019-07-27 22:53:53 -07:00
Brent Simmons 44ec6a026d Get the unread count from the timeline for the currently selected node in the sidebar. This ensures that transients in the timeline are accounted for. (The database query for the unread count wouldn’t necessarily match.) 2019-07-27 22:53:27 -07:00
Brent Simmons 05faea53c4 Remove reference to NSCalendarDayChanged — it’s no longer necessary to update the Today feed unread count when the day changes. 2019-07-27 19:52:05 -07:00
Brent Simmons 314fd970d1 Merge branch 'mac-candidate' 2019-07-27 19:49:46 -07:00
Brent Simmons 8acab45cf9 Make formatting changes to SidebarViewController.swift so it conforms to current formatting thinking. 2019-07-27 19:49:33 -07:00
Brent Simmons 58a7e1bc7d Merge branch 'mac-candidate' 2019-07-27 15:44:34 -07:00
Brent Simmons a41f7d8e68 Remove some unneeded drawing. This makes resizing the timeline faster. 2019-07-27 15:44:13 -07:00
Maurice Parker 125512f551 Merge branch 'mac-candidate' 2019-07-26 08:06:59 -05:00
Maurice Parker 8b0c8156df Remove refresh at midnight for Today smartfeed 2019-07-26 08:06:08 -05:00
Brent Simmons 3999c7b3c5 Merge branch 'mac-candidate' 2019-07-05 22:42:01 -07:00
Brent Simmons 7a204ad6ed Run database fetches async, in the timeline, when appropriate — for instance, when All Unread is selected and new articles come in. 2019-07-05 20:06:31 -07:00
Maurice Parker 5f045706e4 Removed usaged of UIApplication.present 2019-06-27 14:21:07 -05:00
Maurice Parker 74f84dc000 Restrict OPML import for Account types that don't support it 2019-06-19 17:50:32 -05:00
Brent Simmons 6f16a2715e Skip downloading featured images, since we’re not displaying them anywhere. 2019-06-17 21:47:17 -07:00
Maurice Parker 40b9be6709 center smaller avatars on a solid color background image to make all avatars a consistent size 2019-06-14 15:33:13 -05:00
Maurice Parker 6527ac852c Correct usage of BatchUpdate so that UI remains responsive after error messages Issue #752 2019-06-13 14:50:41 -05:00
Maurice Parker 93fbbd4cc3 Make sure that FeedFinder and InitialDownloader are running on the main thread. 2019-06-10 08:21:03 -05:00
Brent Simmons 45f6d8043a Add ellipsis where needed in import/export OPML sheets. Fix #731. 2019-06-09 20:18:10 -07:00
Brent Simmons 4a4fa6ed0e Fix crashing bug by not using an NSFont as a key in a Swift dictionary. Fix #734. 2019-06-09 16:03:08 -07:00
Maurice Parker 88b2775076 Make sure that an account doesn't try persist to the disk in the time that it is logically deleted and when it is actually deallocated 2019-05-31 08:05:26 -05:00
Maurice Parker beacad1aeb Validate folder drop to make sure no folders with the same name are already in the target account 2019-05-30 17:57:06 -05:00
Maurice Parker a8f090656d Handle when a feed in a folder being copied/moved already is subscribed in target account 2019-05-30 14:44:13 -05:00
Maurice Parker 30c21bb125 Enable folders to be dropped in a move or copy between accounts 2019-05-30 14:36:21 -05:00
Maurice Parker 1352dda8aa Modify Feedbin feed deletes so that they emulate how the local account feed deletes work. 2019-05-30 10:12:34 -05:00
Maurice Parker 51284b5aa4 Rename deleteFeed to removeFeed to be more consistent with other API's 2019-05-29 21:04:44 -05:00
Maurice Parker f4bc17c8f1 Refactor addFeed and removeFeed usages to be more consistent 2019-05-29 20:47:52 -05:00
Maurice Parker 5e3fcfd955 Correct how feeds were deleted so that only the feed in the correct container was deleted 2019-05-29 17:56:26 -05:00
Maurice Parker bead6ae123 Remove now unnecessary call to account structureDidChange in drop 2019-05-29 17:14:50 -05:00
Maurice Parker fa6b6a4769 Corrected move BatchUpdate usage to make move animation smoother 2019-05-29 17:08:41 -05:00
Maurice Parker b1bd8d2d90 Enable folder dragging between accounts 2019-05-29 15:43:33 -05:00
Maurice Parker 8fc6e81ddf Update the Today timeline and unread count when the day changes. Issue #627 2019-05-29 10:24:30 -05:00
Maurice Parker 0648053417 Enforce tag specific drop validation (can't copy to the account level) 2019-05-28 17:42:19 -05:00
Maurice Parker 83652c40de Handle scenario where moved/copied feed already exists somewhere else in account 2019-05-28 16:46:16 -05:00
Maurice Parker 01d5a95241 Remove redundant private keyword usage 2019-05-28 16:31:03 -05:00
Maurice Parker 112702020b Enable same account copying. 2019-05-28 13:11:29 -05:00
Maurice Parker 78c19bda43 Remove restriction on only moving and copying between local accounts. 2019-05-28 11:09:47 -05:00
Maurice Parker b3c4c8de59 Correct how feeds were copied and moved between accounts to eliminate shared objects. 2019-05-28 10:59:06 -05:00
Maurice Parker 493abbb609 Refactor create feed functionality to increase code reuse and encapsulation 2019-05-28 09:45:02 -05:00
Maurice Parker c7b61f7d87 Enable copy between local accounts. 2019-05-27 18:01:24 -05:00
Maurice Parker 659c9e5271 Allow dragged feeds between local accounts only 2019-05-27 15:11:16 -05:00
Brent Simmons bfe41438fc Make default exported OPML file name Subscriptions-[accountName].opml. Fix #683. 2019-05-26 22:17:19 -07:00
Brent Simmons 9f6b2bc63f Revise layout and add explanation for the import OPML choose-account sheet. 2019-05-26 16:29:46 -07:00
Brent Simmons 810e5b9aee Tweak layout and add explanation text for OPML export sheet. 2019-05-26 16:12:38 -07:00
Maurice Parker c422b4b82c Merge branch 'master' of https://github.com/brentsimmons/NetNewsWire 2019-05-22 10:08:01 -05:00
Maurice Parker 43f8e9880c Change to mark all as unread for the selected article feed. Issue #657 2019-05-22 10:07:00 -05:00
Brent Simmons e05eb6e60c Use == instead of === when comparing feeds in the sidebar — you might have duplicate feeds. (Duplicate feeds are totally allowed.) 2019-05-21 22:23:26 -07:00
Maurice Parker 98a262e34b Update pseudo feed timeline when and account is deleted. 2019-05-21 16:47:32 -05:00
Maurice Parker 918eb746d5 Update pseudo feeds when account states change. Issues #645, #663, & #664. 2019-05-21 16:36:47 -05:00
Maurice Parker 46cd477ee0 Make unread indicator white for selected and emphasized rows in timeline. Issue #655 2019-05-21 16:08:16 -05:00
Maurice Parker 4667035e61 Remember last OPML export account, suggest account name for OPML export file name, allow export of inactive accounts. Issue #659 & Issue #652 2019-05-21 15:15:26 -05:00
Maurice Parker 0da916fa68 Add Mark All as Read contextual menu item. Issue #657 2019-05-21 14:57:22 -05:00
Maurice Parker af19b6dee0 Remember last selected account on OPML import. Issue #661 2019-05-21 14:56:41 -05:00
Maurice Parker 8816de4a0e Fix issue where new Feeds added to a folder also got left in the account container. 2019-05-21 10:26:11 -05:00
Maurice Parker fb33008b36 Remember account selection for Add Feed and Add Folder dialogs. Issue #651 & Issue #654 2019-05-21 09:36:33 -05:00
Maurice Parker e6680a23b9 Make move animation smoother by wrapping in a BatchUpdate 2019-05-21 09:03:28 -05:00
Maurice Parker 3207ebf6a5 Implement default timeline avatar. Issue #641 2019-05-21 05:42:40 -05:00
Brent Simmons 74953601dd Increase the duration of TimelineViewController’s database fetch queue from 0.5 to 2.0. This will still allow updates to appear in a timely way, but will help prevent fetching too often during a refresh. 2019-05-19 22:26:08 -07:00
Brent Simmons 4d27e5a338 Simplify representedObjectsContainsAnyPseudoFeed. 2019-05-19 20:49:24 -07:00
Maurice Parker 80e1888244 Rename AccountsDidChangeNotification to AccountsDidChange to match other notification names. 2019-05-19 15:51:08 -05:00
Maurice Parker 07ac60cec3 Remove showAddFolderWindow and showAddFeedWindow functions from MainWindowController so that validations will run on AppDelegate. 2019-05-19 15:27:58 -05:00
Maurice Parker 86578775e0 Move menu validations to the app delegate. 2019-05-19 10:21:42 -05:00
Phil Viso eb5c1a49f7 Disable adding a new folder if there are no active accounts 2019-05-19 09:14:40 -05:00
Phil Viso 5ded56fc28 Fixed a crash that occurs when trying to add a new feed with no active accounts 2019-05-19 09:10:19 -05:00
Brent Simmons e98d28c770 Show favicon in the timeline, even though they look weird because they’re small. They’re still better than nothing. 2019-05-18 12:21:35 -07:00
Brent Simmons 36c6c70ba2 Scale avatar images down — they might be up to twice as large as expected. 2019-05-17 23:02:48 -07:00
Brent Simmons 3d253ce6d9 Align avatars to top in timeline. Fix #643. 2019-05-16 22:32:09 -07:00
Maurice Parker b759237fc1 Fix issue where moving from account to folder and the network is unavailable caused feeds to be lost. 2019-05-16 11:19:44 -05:00
Maurice Parker fb79309f95 Change import and export OPML so that they don't prompt to select an account if only one is active 2019-05-14 19:40:38 -05:00
Brent Simmons 51730d9b1c Set scaling to .scaleNone in the avatar image view in the timeline, since we’re pre-scaling the images. 2019-05-13 22:23:06 -07:00
Brent Simmons 5abe73331a Make TimelineTableView and TimelineTableRowView opaque in the interest of speeding up rendering during scrolling. 2019-05-13 21:42:47 -07:00
Brent Simmons 52b1ef2350 Place avatars on the left in the timeline. 2019-05-12 20:42:52 -07:00
Maurice Parker 6f92cd1a73 Refactor to differentiate between loading the Subscriptions.opml file and importing an external OPML file as they now need separate behaviors 2019-05-11 12:26:23 -05:00
Maurice Parker fe70723eb4 Use best feed specifier code to determine which Feedbin option to use when creating a feed 2019-05-10 10:14:24 -05:00
Maurice Parker 23b43ecc07 Add undo for feeds 2019-05-09 16:09:21 -05:00
Maurice Parker cda8acc66c Add the ability to move feeds between folders for Feedbin 2019-05-09 13:31:18 -05:00
Maurice Parker 50d3a5799c added subscription delete 2019-05-09 07:25:45 -05:00
Maurice Parker 06626f10a7 Add feed rename 2019-05-08 17:55:53 -05:00
Maurice Parker 43d32b1281 Add create Feedbin feed 2019-05-08 17:41:19 -05:00
Maurice Parker 7f9055fe78 Add download subscriptions and faviconURLs 2019-05-07 10:51:41 -05:00
Maurice Parker b7e2df1a68 Add Folder rename for Feedbin 2019-05-06 10:53:20 -05:00
Maurice Parker eb89ee7128 Expand new or newly active accounts so that they don't look broken 2019-05-02 06:45:56 -05:00
Maurice Parker 636468bbf0 Implement active account processing functionality 2019-05-02 06:01:30 -05:00
Maurice Parker 133398c240 Prevent dragging between accounts. 2019-05-01 17:49:25 -05:00
Maurice Parker 78e98e4c03 Make single non-local drops work with multiple accounts 2019-05-01 17:33:08 -05:00
Maurice Parker 73f035c5b7 Make OPML import and export respect multiple accounts 2019-05-01 16:04:56 -05:00
Maurice Parker f5dbe7117e Delete dead code 2019-05-01 14:56:26 -05:00
Maurice Parker 6ede5b7c3d Enable add feed for multiple accounts 2019-05-01 14:03:59 -05:00
Maurice Parker f4180424e1 Add multiple local accounts 2019-05-01 12:37:13 -05:00
Maurice Parker 4bc7611721 Rename AccountManageer.localAccount to AccountManager.defaultAccount to make it different from other local accounts 2019-05-01 05:53:18 -05:00
Maurice Parker 23c69a9223 Make RefreshInterval shared code
Back out inadvertent macOS changes
2019-04-23 08:47:58 -05:00
Maurice Parker e81defb934 Implement detail next and prev article buttons. 2019-04-21 17:42:26 -05:00
Maurice Parker c5a891234d implement model controller pattern 2019-04-21 13:57:23 -05:00
Maurice Parker b01b45cf9c Renamed to DeleteCommand and implemented delete undo for iOS. 2019-04-18 08:54:48 -05:00
Maurice Parker 7083b5064b Refactored the TreeDelegates to be shared code. 2019-04-18 04:56:15 -05:00
Maurice Parker 8526db8b4c Added initial POC version of NetNewsWire for iOS to use as a starting point for the actual app. 2019-04-15 15:03:05 -05:00
Brent Simmons 6c8481d805 Work around WKWebView latency that happens when specifying baseURL. Instead, make it nil, and add a base href tag to the actual HTML. 2019-04-14 12:54:17 -07:00
Brent Simmons 70312aa75c Major folder and project tree restructuring. 2019-04-13 16:18:54 -07:00