2010-06-17 13:10:45 -04:00
|
|
|
//
|
|
|
|
// NewsBlurAppDelegate.h
|
|
|
|
// NewsBlur
|
|
|
|
//
|
|
|
|
// Created by Samuel Clay on 6/16/10.
|
2010-06-21 17:17:26 -04:00
|
|
|
// Copyright NewsBlur 2010. All rights reserved.
|
2010-06-17 13:10:45 -04:00
|
|
|
//
|
|
|
|
|
|
|
|
#import <UIKit/UIKit.h>
|
2011-10-27 09:44:58 -07:00
|
|
|
#import "BaseViewController.h"
|
2010-06-17 13:10:45 -04:00
|
|
|
|
2012-06-15 17:24:37 -07:00
|
|
|
@class FeedsViewController;
|
2010-06-21 17:17:26 -04:00
|
|
|
@class FeedDetailViewController;
|
2012-06-19 10:55:46 -07:00
|
|
|
@class FeedsMenuViewController;
|
2012-06-13 18:07:24 -07:00
|
|
|
@class FirstTimeUserViewController;
|
2012-06-18 14:31:42 -07:00
|
|
|
@class FontSettingsViewController;
|
2012-06-15 16:35:54 -07:00
|
|
|
@class GoogleReaderViewController;
|
2010-06-25 18:36:01 -04:00
|
|
|
@class StoryDetailViewController;
|
2010-10-31 23:02:13 -04:00
|
|
|
@class LoginViewController;
|
2011-12-02 16:23:00 -08:00
|
|
|
@class AddSiteViewController;
|
|
|
|
@class MoveSiteViewController;
|
2010-11-13 18:32:43 -05:00
|
|
|
@class OriginalStoryViewController;
|
2012-06-11 21:00:09 -07:00
|
|
|
@class SplitStoryDetailViewController;
|
2010-06-17 13:10:45 -04:00
|
|
|
|
2012-06-15 16:35:54 -07:00
|
|
|
|
2011-10-27 09:44:58 -07:00
|
|
|
@interface NewsBlurAppDelegate : BaseViewController <UIApplicationDelegate> {
|
2010-06-17 13:10:45 -04:00
|
|
|
UIWindow *window;
|
2012-06-11 12:25:38 -07:00
|
|
|
UISplitViewController *splitStoryController;
|
2010-06-21 17:17:26 -04:00
|
|
|
UINavigationController *navigationController;
|
2012-06-11 16:56:38 -07:00
|
|
|
UINavigationController *splitStoryDetailNavigationController;
|
|
|
|
|
2012-06-15 17:24:37 -07:00
|
|
|
FeedsViewController *feedsViewController;
|
2012-06-19 10:55:46 -07:00
|
|
|
FeedsMenuViewController *feedsMenuViewController;
|
2012-06-18 14:31:42 -07:00
|
|
|
FontSettingsViewController *fontSettingsViewController;
|
2010-06-24 12:53:50 -04:00
|
|
|
FeedDetailViewController *feedDetailViewController;
|
2012-06-13 18:07:24 -07:00
|
|
|
FirstTimeUserViewController *firstTimeUserViewController;
|
2012-06-15 16:35:54 -07:00
|
|
|
GoogleReaderViewController *googleReaderViewController;
|
2010-06-25 18:36:01 -04:00
|
|
|
StoryDetailViewController *storyDetailViewController;
|
2010-10-31 23:02:13 -04:00
|
|
|
LoginViewController *loginViewController;
|
2011-12-02 16:23:00 -08:00
|
|
|
AddSiteViewController *addSiteViewController;
|
|
|
|
MoveSiteViewController *moveSiteViewController;
|
2010-11-13 18:32:43 -05:00
|
|
|
OriginalStoryViewController *originalStoryViewController;
|
2012-06-13 18:07:24 -07:00
|
|
|
SplitStoryDetailViewController *splitStoryDetailViewController;
|
2012-06-15 16:35:54 -07:00
|
|
|
|
2010-06-25 18:36:01 -04:00
|
|
|
|
2010-11-13 18:32:43 -05:00
|
|
|
NSString * activeUsername;
|
2011-10-25 09:28:05 -07:00
|
|
|
BOOL isRiverView;
|
2010-06-25 18:36:01 -04:00
|
|
|
NSDictionary * activeFeed;
|
2011-10-20 09:32:39 -07:00
|
|
|
NSString * activeFolder;
|
2011-10-26 08:40:31 -07:00
|
|
|
NSArray * activeFolderFeeds;
|
2010-06-25 18:36:01 -04:00
|
|
|
NSArray * activeFeedStories;
|
2011-07-29 21:27:37 -07:00
|
|
|
NSMutableArray * activeFeedStoryLocations;
|
2011-08-08 09:58:15 -07:00
|
|
|
NSMutableArray * activeFeedStoryLocationIds;
|
2010-06-25 18:36:01 -04:00
|
|
|
NSDictionary * activeStory;
|
2010-11-13 18:32:43 -05:00
|
|
|
NSURL * activeOriginalStoryURL;
|
2011-10-31 10:10:38 -07:00
|
|
|
|
2011-07-24 20:34:54 -07:00
|
|
|
int storyCount;
|
2011-08-09 17:58:43 -07:00
|
|
|
int originalStoryCount;
|
2011-07-29 09:06:17 -07:00
|
|
|
NSInteger selectedIntelligence;
|
2011-11-09 09:51:42 -08:00
|
|
|
int visibleUnreadCount;
|
2011-07-24 21:47:58 -07:00
|
|
|
NSMutableArray * recentlyReadStories;
|
2011-11-03 18:08:24 -07:00
|
|
|
NSMutableSet * recentlyReadFeeds;
|
2011-08-22 18:25:33 -07:00
|
|
|
NSMutableArray * readStories;
|
2011-10-04 18:01:35 -07:00
|
|
|
|
|
|
|
NSDictionary * dictFolders;
|
|
|
|
NSDictionary * dictFeeds;
|
|
|
|
NSMutableArray * dictFoldersArray;
|
2010-06-17 13:10:45 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
@property (nonatomic, retain) IBOutlet UIWindow *window;
|
2012-06-11 12:25:38 -07:00
|
|
|
@property (nonatomic, retain) IBOutlet UISplitViewController *splitStoryController;
|
2010-06-25 18:36:01 -04:00
|
|
|
@property (nonatomic, readonly, retain) IBOutlet UINavigationController *navigationController;
|
2012-06-11 16:56:38 -07:00
|
|
|
@property (nonatomic, readonly, retain) IBOutlet UINavigationController *splitStoryDetailNavigationController;
|
2012-06-15 17:24:37 -07:00
|
|
|
@property (nonatomic, retain) IBOutlet FeedsViewController *feedsViewController;
|
2012-06-19 10:55:46 -07:00
|
|
|
@property (nonatomic, retain) IBOutlet FeedsMenuViewController *feedsMenuViewController;
|
2010-06-24 12:53:50 -04:00
|
|
|
@property (nonatomic, retain) IBOutlet FeedDetailViewController *feedDetailViewController;
|
2012-06-13 18:07:24 -07:00
|
|
|
@property (nonatomic, retain) IBOutlet FirstTimeUserViewController *firstTimeUserViewController;
|
2012-06-15 16:35:54 -07:00
|
|
|
@property (nonatomic, retain) IBOutlet GoogleReaderViewController *googleReaderViewController;
|
2010-06-25 18:36:01 -04:00
|
|
|
@property (nonatomic, retain) IBOutlet StoryDetailViewController *storyDetailViewController;
|
2010-10-31 23:02:13 -04:00
|
|
|
@property (nonatomic, retain) IBOutlet LoginViewController *loginViewController;
|
2011-12-02 16:23:00 -08:00
|
|
|
@property (nonatomic, retain) IBOutlet AddSiteViewController *addSiteViewController;
|
|
|
|
@property (nonatomic, retain) IBOutlet MoveSiteViewController *moveSiteViewController;
|
2010-11-13 18:32:43 -05:00
|
|
|
@property (nonatomic, retain) IBOutlet OriginalStoryViewController *originalStoryViewController;
|
2012-06-13 18:07:24 -07:00
|
|
|
@property (nonatomic, retain) IBOutlet SplitStoryDetailViewController *splitStoryDetailViewController;
|
2012-06-18 14:31:42 -07:00
|
|
|
@property (nonatomic, retain) IBOutlet FontSettingsViewController *fontSettingsViewController;
|
2010-11-13 13:42:20 -05:00
|
|
|
|
2010-11-13 18:32:43 -05:00
|
|
|
@property (readwrite, retain) NSString * activeUsername;
|
2011-10-25 09:28:05 -07:00
|
|
|
@property (nonatomic, readwrite) BOOL isRiverView;
|
2010-06-25 18:36:01 -04:00
|
|
|
@property (readwrite, retain) NSDictionary * activeFeed;
|
2011-10-20 09:32:39 -07:00
|
|
|
@property (readwrite, retain) NSString * activeFolder;
|
2011-10-26 08:40:31 -07:00
|
|
|
@property (readwrite, retain) NSArray * activeFolderFeeds;
|
2010-06-25 18:36:01 -04:00
|
|
|
@property (readwrite, retain) NSArray * activeFeedStories;
|
2011-07-29 21:27:37 -07:00
|
|
|
@property (readwrite, retain) NSMutableArray * activeFeedStoryLocations;
|
2011-08-08 09:58:15 -07:00
|
|
|
@property (readwrite, retain) NSMutableArray * activeFeedStoryLocationIds;
|
2010-06-25 18:36:01 -04:00
|
|
|
@property (readwrite, retain) NSDictionary * activeStory;
|
2010-11-13 18:32:43 -05:00
|
|
|
@property (readwrite, retain) NSURL * activeOriginalStoryURL;
|
2011-07-24 20:34:54 -07:00
|
|
|
@property (readwrite) int storyCount;
|
2011-08-09 17:58:43 -07:00
|
|
|
@property (readwrite) int originalStoryCount;
|
2011-11-09 09:51:42 -08:00
|
|
|
@property (readwrite) int visibleUnreadCount;
|
2011-07-29 09:06:17 -07:00
|
|
|
@property (readwrite) NSInteger selectedIntelligence;
|
2011-07-24 21:47:58 -07:00
|
|
|
@property (readwrite, retain) NSMutableArray * recentlyReadStories;
|
2011-11-03 18:08:24 -07:00
|
|
|
@property (readwrite, retain) NSMutableSet * recentlyReadFeeds;
|
2011-08-22 18:25:33 -07:00
|
|
|
@property (readwrite, retain) NSMutableArray * readStories;
|
2010-06-25 18:36:01 -04:00
|
|
|
|
2011-10-04 18:01:35 -07:00
|
|
|
@property (nonatomic, retain) NSDictionary *dictFolders;
|
|
|
|
@property (nonatomic, retain) NSDictionary *dictFeeds;
|
|
|
|
@property (nonatomic, retain) NSMutableArray *dictFoldersArray;
|
|
|
|
|
2011-12-03 18:22:14 -08:00
|
|
|
+ (NewsBlurAppDelegate*) sharedAppDelegate;
|
|
|
|
|
2012-06-13 18:07:24 -07:00
|
|
|
- (void)showFirstTimeUser;
|
2012-06-15 17:24:37 -07:00
|
|
|
- (void)showGoogleReaderAuthentication;
|
|
|
|
- (void)addedGoogleReader;
|
2010-11-11 23:48:27 -05:00
|
|
|
- (void)showLogin;
|
2012-06-19 10:55:46 -07:00
|
|
|
- (void)showFeedsMenu;
|
|
|
|
- (void)hideFeedsMenu;
|
2011-10-04 18:01:35 -07:00
|
|
|
- (void)showAdd;
|
2012-06-16 19:25:28 -07:00
|
|
|
- (void)showPopover;
|
2011-12-03 18:22:14 -08:00
|
|
|
- (void)showMoveSite;
|
2010-06-25 18:36:01 -04:00
|
|
|
- (void)loadFeedDetailView;
|
2011-10-26 08:40:31 -07:00
|
|
|
- (void)loadRiverFeedDetailView;
|
2010-06-25 18:36:01 -04:00
|
|
|
- (void)loadStoryDetailView;
|
2012-06-11 16:56:38 -07:00
|
|
|
- (void)adjustStoryDetailWebView;
|
2011-12-03 18:22:14 -08:00
|
|
|
- (void)reloadFeedsView:(BOOL)showLoader;
|
2010-06-21 17:17:26 -04:00
|
|
|
- (void)hideNavigationBar:(BOOL)animated;
|
|
|
|
- (void)showNavigationBar:(BOOL)animated;
|
2010-11-11 23:48:27 -05:00
|
|
|
- (void)setTitle:(NSString *)title;
|
2012-06-14 10:19:36 -07:00
|
|
|
- (void)showOriginalStory:(NSURL *)url;
|
2010-11-13 18:32:43 -05:00
|
|
|
- (void)closeOriginalStory;
|
2012-06-18 16:45:36 -07:00
|
|
|
- (void)changeActiveFeedDetailRow:(int)rowIndex;
|
2011-08-22 18:25:33 -07:00
|
|
|
|
2011-06-15 11:21:55 -04:00
|
|
|
- (int)indexOfNextStory;
|
|
|
|
- (int)indexOfPreviousStory;
|
|
|
|
- (int)indexOfActiveStory;
|
2011-08-08 09:58:15 -07:00
|
|
|
- (int)locationOfActiveStory;
|
2011-08-22 18:25:33 -07:00
|
|
|
- (void)pushReadStory:(id)storyId;
|
|
|
|
- (id)popReadStory;
|
|
|
|
- (int)locationOfStoryId:(id)storyId;
|
|
|
|
|
2011-07-24 16:52:24 -07:00
|
|
|
- (void)setStories:(NSArray *)activeFeedStoriesValue;
|
|
|
|
- (void)addStories:(NSArray *)stories;
|
2011-07-26 08:37:10 -07:00
|
|
|
- (int)unreadCount;
|
2011-10-31 10:10:38 -07:00
|
|
|
- (int)unreadCountForFeed:(NSString *)feedId;
|
|
|
|
- (int)unreadCountForFolder:(NSString *)folderName;
|
2011-07-24 20:34:54 -07:00
|
|
|
- (void)markActiveStoryRead;
|
2011-11-10 18:28:22 -08:00
|
|
|
- (NSDictionary *)markVisibleStoriesRead;
|
|
|
|
- (void)markStoryRead:(NSString *)storyId feedId:(id)feedId;
|
|
|
|
- (void)markStoryRead:(NSDictionary *)story feed:(NSDictionary *)feed;
|
2011-07-24 22:23:38 -07:00
|
|
|
- (void)markActiveFeedAllRead;
|
2011-11-09 09:51:42 -08:00
|
|
|
- (void)markActiveFolderAllRead;
|
2011-11-10 18:28:22 -08:00
|
|
|
- (void)markFeedAllRead:(id)feedId;
|
2011-07-29 21:27:37 -07:00
|
|
|
- (void)calculateStoryLocations;
|
2010-11-22 10:44:52 -05:00
|
|
|
+ (int)computeStoryScore:(NSDictionary *)intelligence;
|
2011-12-04 21:09:16 -08:00
|
|
|
- (NSString *)extractFolderName:(NSString *)folderName;
|
|
|
|
- (NSString *)extractParentFolderName:(NSString *)folderName;
|
2011-10-27 19:05:38 -07:00
|
|
|
+ (UIView *)makeGradientView:(CGRect)rect startColor:(NSString *)start endColor:(NSString *)end;
|
2011-10-28 18:29:33 -07:00
|
|
|
- (UIView *)makeFeedTitleGradient:(NSDictionary *)feed withRect:(CGRect)rect;
|
2011-12-02 16:23:00 -08:00
|
|
|
- (UIView *)makeFeedTitle:(NSDictionary *)feed;
|
2010-06-17 13:10:45 -04:00
|
|
|
|
|
|
|
@end
|
|
|
|
|