mirror of
https://github.com/viq/NewsBlur.git
synced 2025-09-18 21:43:31 +00:00
removing pull to refresh
This commit is contained in:
parent
3adbf695af
commit
b5778fe892
3 changed files with 16 additions and 111 deletions
|
@ -8,20 +8,18 @@
|
|||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "ASIHTTPRequest.h"
|
||||
#import "PullToRefreshView.h"
|
||||
#import "BaseViewController.h"
|
||||
|
||||
@class NewsBlurAppDelegate;
|
||||
|
||||
@interface FeedDetailViewController : BaseViewController
|
||||
<UITableViewDelegate, UITableViewDataSource, PullToRefreshViewDelegate,
|
||||
<UITableViewDelegate, UITableViewDataSource,
|
||||
UIActionSheetDelegate, UIAlertViewDelegate> {
|
||||
NewsBlurAppDelegate *appDelegate;
|
||||
|
||||
NSArray * stories;
|
||||
int feedPage;
|
||||
BOOL pageFetching;
|
||||
BOOL pageRefreshing;
|
||||
BOOL pageFinished;
|
||||
|
||||
UITableView * storyTitlesTable;
|
||||
|
@ -29,7 +27,6 @@
|
|||
UISlider * feedScoreSlider;
|
||||
UIBarButtonItem * feedMarkReadButton;
|
||||
UISegmentedControl * intelligenceControl;
|
||||
PullToRefreshView *pull;
|
||||
}
|
||||
|
||||
- (void)resetFeedDetail;
|
||||
|
@ -43,10 +40,6 @@
|
|||
- (IBAction)selectIntelligence;
|
||||
- (NSDictionary *)getStoryAtRow:(NSInteger)indexPathRow;
|
||||
- (void)checkScroll;
|
||||
- (void)pullToRefreshViewShouldRefresh:(PullToRefreshView *)view;
|
||||
- (NSDate *)pullToRefreshViewLastUpdated:(PullToRefreshView *)view;
|
||||
- (void)finishedRefreshingFeed:(ASIHTTPRequest *)request;
|
||||
- (void)failRefreshingFeed:(ASIHTTPRequest *)request;
|
||||
|
||||
- (IBAction)doOpenMarkReadActionSheet:(id)sender;
|
||||
- (IBAction)doOpenSettingsActionSheet;
|
||||
|
@ -62,7 +55,6 @@
|
|||
@property (nonatomic, retain) IBOutlet UIBarButtonItem * feedMarkReadButton;
|
||||
@property (nonatomic, retain) IBOutlet UIBarButtonItem * settingsButton;
|
||||
@property (nonatomic, retain) IBOutlet UISegmentedControl * intelligenceControl;
|
||||
@property (nonatomic, retain) PullToRefreshView *pull;
|
||||
|
||||
@property (nonatomic, retain) NSArray * stories;
|
||||
@property (nonatomic, readwrite) int feedPage;
|
||||
|
@ -70,4 +62,4 @@
|
|||
@property (nonatomic, readwrite) BOOL pageRefreshing;
|
||||
@property (nonatomic, readwrite) BOOL pageFinished;
|
||||
|
||||
@end
|
||||
@end
|
|
@ -11,7 +11,6 @@
|
|||
#import "NewsBlurAppDelegate.h"
|
||||
#import "FeedDetailTableCell.h"
|
||||
#import "SplitStoryDetailViewController.h"
|
||||
#import "PullToRefreshView.h"
|
||||
#import "ASIFormDataRequest.h"
|
||||
#import "NSString+HTML.h"
|
||||
#import "MBProgressHUD.h"
|
||||
|
@ -33,10 +32,8 @@
|
|||
@synthesize appDelegate;
|
||||
@synthesize feedPage;
|
||||
@synthesize pageFetching;
|
||||
@synthesize pageRefreshing;
|
||||
@synthesize pageFinished;
|
||||
@synthesize intelligenceControl;
|
||||
@synthesize pull;
|
||||
|
||||
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
|
||||
|
||||
|
@ -46,12 +43,6 @@
|
|||
}
|
||||
|
||||
- (void)viewDidLoad {
|
||||
pull = [[PullToRefreshView alloc] initWithScrollView:self.storyTitlesTable];
|
||||
[pull setDelegate:self];
|
||||
[self.storyTitlesTable addSubview:pull];
|
||||
|
||||
|
||||
|
||||
[super viewDidLoad];
|
||||
}
|
||||
|
||||
|
@ -108,20 +99,7 @@
|
|||
[self.intelligenceControl setSelectedSegmentIndex:[appDelegate selectedIntelligence]+1];
|
||||
|
||||
[super viewWillAppear:animated];
|
||||
|
||||
BOOL pullFound = NO;
|
||||
for (UIView *view in self.storyTitlesTable.subviews) {
|
||||
if ([view isKindOfClass:[PullToRefreshView class]]) {
|
||||
pullFound = YES;
|
||||
if (appDelegate.isRiverView) {
|
||||
[view removeFromSuperview];
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!appDelegate.isRiverView && !pullFound) {
|
||||
[self.storyTitlesTable addSubview:pull];
|
||||
}
|
||||
|
||||
|
||||
if (appDelegate.isRiverView && [appDelegate.activeFolder isEqualToString:@"Everything"]) {
|
||||
settingsButton.enabled = NO;
|
||||
} else {
|
||||
|
@ -132,7 +110,6 @@
|
|||
- (void)viewDidAppear:(BOOL)animated {
|
||||
// [[storyTitlesTable cellForRowAtIndexPath:[storyTitlesTable indexPathForSelectedRow]] setSelected:NO]; // TODO: DESELECT CELL --- done, see line below:
|
||||
[self.storyTitlesTable deselectRowAtIndexPath:[storyTitlesTable indexPathForSelectedRow] animated:YES];
|
||||
[pull refreshLastUpdatedDate];
|
||||
|
||||
[super viewDidAppear:animated];
|
||||
}
|
||||
|
@ -146,7 +123,6 @@
|
|||
[stories release];
|
||||
[appDelegate release];
|
||||
[intelligenceControl release];
|
||||
[pull release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
@ -156,7 +132,6 @@
|
|||
- (void)resetFeedDetail {
|
||||
self.pageFetching = NO;
|
||||
self.pageFinished = NO;
|
||||
self.pageRefreshing = NO;
|
||||
self.feedPage = 1;
|
||||
}
|
||||
|
||||
|
@ -221,7 +196,6 @@
|
|||
return;
|
||||
}
|
||||
|
||||
[pull finishedLoading];
|
||||
NSArray *newStories = [results objectForKey:@"stories"];
|
||||
NSMutableArray *confirmedNewStories = [NSMutableArray array];
|
||||
if ([appDelegate.activeFeedStories count]) {
|
||||
|
@ -390,16 +364,11 @@
|
|||
#pragma mark -
|
||||
#pragma mark Table View - Feed List
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
if (self.pageRefreshing) {
|
||||
// Refreshing feed
|
||||
return 1;
|
||||
} else {
|
||||
int storyCount = [[appDelegate activeFeedStoryLocations] count];
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
int storyCount = [[appDelegate activeFeedStoryLocations] count];
|
||||
|
||||
// The +1 is for the finished/loading bar.
|
||||
return storyCount + 1;
|
||||
}
|
||||
// The +1 is for the finished/loading bar.
|
||||
return storyCount + 1;
|
||||
}
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView
|
||||
|
@ -873,63 +842,5 @@
|
|||
[appDelegate showMoveSite];
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark PullToRefresh
|
||||
|
||||
// called when the user pulls-to-refresh
|
||||
- (void)pullToRefreshViewShouldRefresh:(PullToRefreshView *)view {
|
||||
if (appDelegate.isRiverView) {
|
||||
[pull finishedLoading];
|
||||
return;
|
||||
}
|
||||
|
||||
NSString *urlString = [NSString
|
||||
stringWithFormat:@"http://%@/reader/refresh_feed/%@",
|
||||
NEWSBLUR_URL,
|
||||
[appDelegate.activeFeed objectForKey:@"id"]];
|
||||
[self cancelRequests];
|
||||
__block ASIHTTPRequest *request = [self requestWithURL:urlString];
|
||||
[request setDelegate:self];
|
||||
[request setResponseEncoding:NSUTF8StringEncoding];
|
||||
[request setDefaultResponseEncoding:NSUTF8StringEncoding];
|
||||
[request setDidFinishSelector:@selector(finishedRefreshingFeed:)];
|
||||
[request setDidFailSelector:@selector(failRefreshingFeed:)];
|
||||
[request setTimeOutSeconds:60];
|
||||
[request startAsynchronous];
|
||||
|
||||
[appDelegate setStories:nil];
|
||||
self.feedPage = 1;
|
||||
self.pageFetching = YES;
|
||||
self.pageRefreshing = YES;
|
||||
[self.storyTitlesTable reloadData];
|
||||
[storyTitlesTable scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:YES];
|
||||
}
|
||||
|
||||
- (void)finishedRefreshingFeed:(ASIHTTPRequest *)request {
|
||||
NSString *responseString = [request responseString];
|
||||
NSDictionary *results = [[NSDictionary alloc]
|
||||
initWithDictionary:[responseString JSONValue]];
|
||||
[pull finishedLoading];
|
||||
self.pageRefreshing = NO;
|
||||
[self renderStories:[results objectForKey:@"stories"]];
|
||||
|
||||
[results release];
|
||||
}
|
||||
|
||||
- (void)failRefreshingFeed:(ASIHTTPRequest *)request {
|
||||
NSLog(@"Fail: %@", request);
|
||||
self.pageRefreshing = NO;
|
||||
[self informError:[request error]];
|
||||
[pull finishedLoading];
|
||||
[self fetchFeedDetail:1 withCallback:nil];
|
||||
}
|
||||
|
||||
// called when the date shown needs to be updated, optional
|
||||
- (NSDate *)pullToRefreshViewLastUpdated:(PullToRefreshView *)view {
|
||||
// NSLog(@"Updated; %@", [appDelegate.activeFeed objectForKey:@"updated_seconds_ago"]);
|
||||
int seconds = -1 * [[appDelegate.activeFeed objectForKey:@"updated_seconds_ago"] intValue];
|
||||
return [[[NSDate alloc] initWithTimeIntervalSinceNow:seconds] autorelease];
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
|
|
|
@ -49,9 +49,10 @@
|
|||
<object class="IBUILabel" id="750430533">
|
||||
<reference key="NSNextResponder" ref="994014136"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{865, 35}, {119, 15}}</string>
|
||||
<string key="NSFrame">{{165, 40}, {128, 15}}</string>
|
||||
<reference key="NSSuperview" ref="994014136"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor" id="932003208">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MSAxIDEAA</bytes>
|
||||
|
@ -131,7 +132,7 @@
|
|||
<object class="IBUILabel" id="194816084">
|
||||
<reference key="NSNextResponder" ref="994014136"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{33, 40}, {260, 15}}</string>
|
||||
<string key="NSFrame">{{33, 40}, {137, 15}}</string>
|
||||
<reference key="NSSuperview" ref="994014136"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="750430533"/>
|
||||
|
@ -219,9 +220,10 @@
|
|||
<object class="IBUILabel" id="607536273">
|
||||
<reference key="NSNextResponder" ref="247257992"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{865, 55}, {119, 15}}</string>
|
||||
<string key="NSFrame">{{159, 61}, {141, 15}}</string>
|
||||
<reference key="NSSuperview" ref="247257992"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<reference key="IBUIBackgroundColor" ref="932003208"/>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
|
@ -277,7 +279,7 @@
|
|||
<object class="IBUILabel" id="450494992">
|
||||
<reference key="NSNextResponder" ref="247257992"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{34, 61}, {266, 15}}</string>
|
||||
<string key="NSFrame">{{34, 61}, {122, 15}}</string>
|
||||
<reference key="NSSuperview" ref="247257992"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="607536273"/>
|
||||
|
@ -442,10 +444,10 @@
|
|||
<reference key="object" ref="749780469"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="194816084"/>
|
||||
<reference ref="523799572"/>
|
||||
<reference ref="750430533"/>
|
||||
<reference ref="417683225"/>
|
||||
<reference ref="750430533"/>
|
||||
<reference ref="194816084"/>
|
||||
</object>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
|
@ -477,8 +479,8 @@
|
|||
<reference ref="1001310564"/>
|
||||
<reference ref="753396836"/>
|
||||
<reference ref="450494992"/>
|
||||
<reference ref="607536273"/>
|
||||
<reference ref="111782255"/>
|
||||
<reference ref="607536273"/>
|
||||
</object>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
|
|
Loading…
Add table
Reference in a new issue