mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-09-18 21:50:56 +00:00
Correctly updating feed detail story title list on read. Also syncing all mark reads (including gestures).
This commit is contained in:
parent
9254f799bb
commit
efb9108a38
5 changed files with 20 additions and 9 deletions
|
@ -172,8 +172,10 @@
|
||||||
[appDelegate.storyDetailViewController fetchTextView];
|
[appDelegate.storyDetailViewController fetchTextView];
|
||||||
} else if (markUnread) {
|
} else if (markUnread) {
|
||||||
[storiesCollection toggleStoryUnread:story];
|
[storiesCollection toggleStoryUnread:story];
|
||||||
|
[self reloadData];
|
||||||
} else if (saveStory) {
|
} else if (saveStory) {
|
||||||
[storiesCollection toggleStorySaved:story];
|
[storiesCollection toggleStorySaved:story];
|
||||||
|
[self reloadData];
|
||||||
}
|
}
|
||||||
inDoubleTap = NO;
|
inDoubleTap = NO;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1887,7 +1887,7 @@
|
||||||
for (StoryDetailViewController *page in @[storyPageControl.previousPage,
|
for (StoryDetailViewController *page in @[storyPageControl.previousPage,
|
||||||
storyPageControl.currentPage,
|
storyPageControl.currentPage,
|
||||||
storyPageControl.nextPage]) {
|
storyPageControl.nextPage]) {
|
||||||
if (![[page.activeStory objectForKey:@"story_hash"]
|
if ([[page.activeStory objectForKey:@"story_hash"]
|
||||||
isEqualToString:[story objectForKey:@"story_hash"]]) {
|
isEqualToString:[story objectForKey:@"story_hash"]]) {
|
||||||
page.isRecentlyUnread = NO;
|
page.isRecentlyUnread = NO;
|
||||||
[storyPageControl refreshHeaders];
|
[storyPageControl refreshHeaders];
|
||||||
|
@ -1899,7 +1899,7 @@
|
||||||
for (StoryDetailViewController *page in @[storyPageControl.previousPage,
|
for (StoryDetailViewController *page in @[storyPageControl.previousPage,
|
||||||
storyPageControl.currentPage,
|
storyPageControl.currentPage,
|
||||||
storyPageControl.nextPage]) {
|
storyPageControl.nextPage]) {
|
||||||
if (![[page.activeStory objectForKey:@"story_hash"]
|
if ([[page.activeStory objectForKey:@"story_hash"]
|
||||||
isEqualToString:[story objectForKey:@"story_hash"]]) {
|
isEqualToString:[story objectForKey:@"story_hash"]]) {
|
||||||
page.isRecentlyUnread = YES;
|
page.isRecentlyUnread = YES;
|
||||||
[storyPageControl refreshHeaders];
|
[storyPageControl refreshHeaders];
|
||||||
|
|
|
@ -418,6 +418,7 @@ static UIFont *userLabelFont;
|
||||||
|
|
||||||
appDelegate.hasNoSites = NO;
|
appDelegate.hasNoSites = NO;
|
||||||
appDelegate.recentlyReadStories = [NSMutableDictionary dictionary];
|
appDelegate.recentlyReadStories = [NSMutableDictionary dictionary];
|
||||||
|
appDelegate.unreadStoryHashes = [NSMutableDictionary dictionary];
|
||||||
|
|
||||||
self.isOffline = NO;
|
self.isOffline = NO;
|
||||||
NSString *responseString = [request responseString];
|
NSString *responseString = [request responseString];
|
||||||
|
|
|
@ -418,6 +418,11 @@
|
||||||
NSMutableDictionary *newStory = [story mutableCopy];
|
NSMutableDictionary *newStory = [story mutableCopy];
|
||||||
[newStory setValue:[NSNumber numberWithInt:1] forKey:@"read_status"];
|
[newStory setValue:[NSNumber numberWithInt:1] forKey:@"read_status"];
|
||||||
|
|
||||||
|
if ([[appDelegate.activeStory objectForKey:@"story_hash"]
|
||||||
|
isEqualToString:[newStory objectForKey:@"story_hash"]]) {
|
||||||
|
appDelegate.activeStory = newStory;
|
||||||
|
}
|
||||||
|
|
||||||
// make the story as read in self.activeFeedStories
|
// make the story as read in self.activeFeedStories
|
||||||
NSString *newStoryIdStr = [NSString stringWithFormat:@"%@", [newStory valueForKey:@"story_hash"]];
|
NSString *newStoryIdStr = [NSString stringWithFormat:@"%@", [newStory valueForKey:@"story_hash"]];
|
||||||
NSMutableArray *newActiveFeedStories = [self.activeFeedStories mutableCopy];
|
NSMutableArray *newActiveFeedStories = [self.activeFeedStories mutableCopy];
|
||||||
|
@ -430,10 +435,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
self.activeFeedStories = newActiveFeedStories;
|
self.activeFeedStories = newActiveFeedStories;
|
||||||
if ([[appDelegate.activeStory objectForKey:@"story_hash"]
|
|
||||||
isEqualToString:[newStory objectForKey:@"story_hash"]]) {
|
|
||||||
appDelegate.activeStory = newStory;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If not a feed, then don't bother updating local feed.
|
// If not a feed, then don't bother updating local feed.
|
||||||
if (!feed) return;
|
if (!feed) return;
|
||||||
|
@ -508,6 +509,11 @@
|
||||||
NSMutableDictionary *newStory = [story mutableCopy];
|
NSMutableDictionary *newStory = [story mutableCopy];
|
||||||
[newStory setValue:[NSNumber numberWithInt:0] forKey:@"read_status"];
|
[newStory setValue:[NSNumber numberWithInt:0] forKey:@"read_status"];
|
||||||
|
|
||||||
|
if ([[appDelegate.activeStory objectForKey:@"story_hash"]
|
||||||
|
isEqualToString:[newStory objectForKey:@"story_hash"]]) {
|
||||||
|
appDelegate.activeStory = newStory;
|
||||||
|
}
|
||||||
|
|
||||||
// make the story as read in self.activeFeedStories
|
// make the story as read in self.activeFeedStories
|
||||||
NSString *newStoryIdStr = [NSString stringWithFormat:@"%@", [newStory valueForKey:@"story_hash"]];
|
NSString *newStoryIdStr = [NSString stringWithFormat:@"%@", [newStory valueForKey:@"story_hash"]];
|
||||||
NSMutableArray *newActiveFeedStories = [self.activeFeedStories mutableCopy];
|
NSMutableArray *newActiveFeedStories = [self.activeFeedStories mutableCopy];
|
||||||
|
|
|
@ -137,8 +137,10 @@
|
||||||
[self fetchTextView];
|
[self fetchTextView];
|
||||||
} else if (markUnread) {
|
} else if (markUnread) {
|
||||||
[appDelegate.storiesCollection toggleStoryUnread];
|
[appDelegate.storiesCollection toggleStoryUnread];
|
||||||
|
[appDelegate.feedDetailViewController reloadData];
|
||||||
} else if (saveStory) {
|
} else if (saveStory) {
|
||||||
[appDelegate.storiesCollection toggleStorySaved];
|
[appDelegate.storiesCollection toggleStorySaved];
|
||||||
|
[appDelegate.feedDetailViewController reloadData];
|
||||||
}
|
}
|
||||||
inDoubleTap = NO;
|
inDoubleTap = NO;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue