From 405c525d8fd94f2b6e43f19e2a54c9e203afe063 Mon Sep 17 00:00:00 2001 From: Samuel Clay Date: Sun, 14 Aug 2011 00:16:25 -0700 Subject: [PATCH] Tightening up iphone app icons and the original story view's close button. --- media/iphone/Classes/LoginViewController.m | 1 + .../Classes/OriginalStoryViewController.h | 6 +- .../Classes/OriginalStoryViewController.m | 21 ++-- .../Classes/StoryDetailViewController.h | 5 +- .../Classes/StoryDetailViewController.m | 119 +++++++++++------- media/iphone/NewsBlur-Info.plist | 2 + .../iphone/NewsBlur.xcodeproj/project.pbxproj | 2 +- media/iphone/logo_114.png | Bin 13955 -> 7288 bytes media/iphone/logo_57.png | Bin 5318 -> 4237 bytes 9 files changed, 96 insertions(+), 60 deletions(-) diff --git a/media/iphone/Classes/LoginViewController.m b/media/iphone/Classes/LoginViewController.m index 134b1e081..17a6e06f5 100644 --- a/media/iphone/Classes/LoginViewController.m +++ b/media/iphone/Classes/LoginViewController.m @@ -64,6 +64,7 @@ - (void)checkPassword { [self.authenticatingLabel setHidden:NO]; + [self.errorLabel setHidden:YES]; [self.activityIndicator startAnimating]; NSLog(@"appdelegate:: %@", [self appDelegate]); NSString *urlString = @"http://www.newsblur.com/reader/login"; diff --git a/media/iphone/Classes/OriginalStoryViewController.h b/media/iphone/Classes/OriginalStoryViewController.h index 601498104..bb395b4fa 100644 --- a/media/iphone/Classes/OriginalStoryViewController.h +++ b/media/iphone/Classes/OriginalStoryViewController.h @@ -10,12 +10,12 @@ @class NewsBlurAppDelegate; -static const CGFloat kNavBarHeight = 60.0f; +static const CGFloat kNavBarHeight = 58.0f; static const CGFloat kLabelHeight = 18.0f; -static const CGFloat kMargin = 10.0f; +static const CGFloat kMargin = 6.0f; static const CGFloat kSpacer = 2.0f; static const CGFloat kLabelFontSize = 12.0f; -static const CGFloat kAddressHeight = 28.0f; +static const CGFloat kAddressHeight = 30.0f; static const CGFloat kButtonWidth = 48.0f; @interface OriginalStoryViewController : UIViewController { diff --git a/media/iphone/Classes/OriginalStoryViewController.m b/media/iphone/Classes/OriginalStoryViewController.m index da583d073..0b237f833 100644 --- a/media/iphone/Classes/OriginalStoryViewController.m +++ b/media/iphone/Classes/OriginalStoryViewController.m @@ -92,18 +92,16 @@ action:@selector(doCloseOriginalStoryViewController)]; close.width = kButtonWidth; CGRect closeButtonFrame = CGRectMake(addressFrame.origin.x + - addressFrame.size.width + kMargin, - addressFrame.origin.y, - kButtonWidth - kMargin, - kAddressHeight - 1); + addressFrame.size.width, + addressFrame.origin.y - 7.0f, + kButtonWidth + kMargin, + 44.0); TransparentToolbar* tools = [[TransparentToolbar alloc] initWithFrame:closeButtonFrame]; - NSArray* buttons = [[NSArray alloc] initWithObjects:close, nil]; - [tools setItems:buttons animated:NO]; + [tools setItems:[NSArray arrayWithObject:close] animated:NO]; [tools setTintColor:[UIColor colorWithRed:0.16f green:0.36f blue:0.46 alpha:0.9]]; [navBar addSubview:tools]; [close release]; - [buttons release]; [tools release]; navBar.tintColor = [UIColor colorWithRed:0.16f green:0.36f blue:0.46 alpha:0.9]; @@ -127,9 +125,12 @@ [self.webView loadRequest:request]; } -// MARK: - -// MARK: UIWebViewDelegate protocol -- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType +# pragma mark: - +# pragma mark: UIWebViewDelegate protocol + +- (BOOL)webView:(UIWebView *)webView + shouldStartLoadWithRequest:(NSURLRequest *)request + navigationType:(UIWebViewNavigationType)navigationType { [self updateAddress:request]; return YES; diff --git a/media/iphone/Classes/StoryDetailViewController.h b/media/iphone/Classes/StoryDetailViewController.h index 5a7155a04..856b03b15 100644 --- a/media/iphone/Classes/StoryDetailViewController.h +++ b/media/iphone/Classes/StoryDetailViewController.h @@ -13,7 +13,8 @@ @interface StoryDetailViewController : UIViewController { NewsBlurAppDelegate *appDelegate; - + + NSString *activeStoryId; UIProgressView *progressView; UIWebView *webView; UIToolbar *toolbar; @@ -22,6 +23,7 @@ } +@property (nonatomic, retain) NSString *activeStoryId; @property (nonatomic, retain) IBOutlet UIProgressView *progressView; @property (nonatomic, retain) IBOutlet UIWebView *webView; @property (nonatomic, retain) IBOutlet UIToolbar *toolbar; @@ -36,5 +38,6 @@ - (IBAction)doNextUnreadStory; - (IBAction)doPreviousStory; - (void)markedAsRead; +- (void)setActiveStory; @end diff --git a/media/iphone/Classes/StoryDetailViewController.m b/media/iphone/Classes/StoryDetailViewController.m index af9198dbe..ee5cef2da 100644 --- a/media/iphone/Classes/StoryDetailViewController.m +++ b/media/iphone/Classes/StoryDetailViewController.m @@ -14,6 +14,7 @@ @implementation StoryDetailViewController +@synthesize activeStoryId; @synthesize appDelegate; @synthesize progressView; @synthesize webView; @@ -29,22 +30,39 @@ return self; } +- (void)dealloc { + [activeStoryId release]; + [appDelegate release]; + [progressView release]; + [webView release]; + [toolbar release]; + [buttonNext release]; + [buttonPrevious release]; + [super dealloc]; +} + - (void)viewWillAppear:(BOOL)animated { - [self showStory]; - [self markStoryAsRead]; - [self setNextPreviousButtons]; - self.webView.scalesPageToFit = YES; + NSLog(@"Stories; %@ -- %@ (%d)", self.activeStoryId, [appDelegate.activeStory objectForKey:@"id"], self.activeStoryId == [appDelegate.activeStory objectForKey:@"id"]); + if (self.activeStoryId != [appDelegate.activeStory objectForKey:@"id"]) { + [self setActiveStory]; + [self showStory]; + [self markStoryAsRead]; + [self setNextPreviousButtons]; + self.webView.scalesPageToFit = YES; + } [super viewWillAppear:animated]; } - (void)viewDidAppear:(BOOL)animated { - self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] - initWithTitle:@"Original" - style:UIBarButtonItemStyleBordered - target:self - action:@selector(showOriginalSubview:) - ] autorelease]; + UIBarButtonItem *originalButton = [[UIBarButtonItem alloc] + initWithTitle:@"Original" + style:UIBarButtonItemStyleBordered + target:self + action:@selector(showOriginalSubview:) + ]; + self.navigationItem.rightBarButtonItem = originalButton; + [originalButton release]; [super viewDidAppear:animated]; } @@ -66,7 +84,7 @@ float unreads = [appDelegate unreadCount]; float total = [appDelegate originalStoryCount]; float progress = (total - unreads) / total; - NSLog(@"Total: %f / %f = %f", unreads, total, progress); +// NSLog(@"Total: %f / %f = %f", unreads, total, progress); [progressView setProgress:progress]; } @@ -77,12 +95,17 @@ NSString *urlString = @"http://www.newsblur.com/reader/mark_story_as_read"; NSURL *url = [NSURL URLWithString:urlString]; ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; - [request setPostValue:[appDelegate.activeStory objectForKey:@"id"] forKey:@"story_id"]; - [request setPostValue:[appDelegate.activeFeed objectForKey:@"id"] forKey:@"feed_id"]; + [request setPostValue:[appDelegate.activeStory + objectForKey:@"id"] + forKey:@"story_id"]; + [request setPostValue:[appDelegate.activeFeed + objectForKey:@"id"] + forKey:@"feed_id"]; [request setDidFinishSelector:@selector(markedAsRead)]; [request setDidFailSelector:@selector(markedAsRead)]; [request setDelegate:self]; [request startAsynchronous]; + [urlString release]; } } @@ -173,7 +196,8 @@ ""]; NSString *story_author = @""; if ([appDelegate.activeStory objectForKey:@"story_authors"]) { - NSString *author = [NSString stringWithFormat:@"%@",[appDelegate.activeStory objectForKey:@"story_authors"]]; + NSString *author = [NSString stringWithFormat:@"%@", + [appDelegate.activeStory objectForKey:@"story_authors"]]; if (author && ![author isEqualToString:@""]) { story_author = [NSString stringWithFormat:@"",author]; } @@ -182,7 +206,10 @@ if ([appDelegate.activeStory objectForKey:@"story_tags"]) { NSArray *tag_array = [appDelegate.activeStory objectForKey:@"story_tags"]; if ([tag_array count] > 0) { - story_tags = [NSString stringWithFormat:@"", + story_tags = [NSString + stringWithFormat:@"", [tag_array componentsJoinedByString:@"", - [story_tags length] ? [appDelegate.activeStory objectForKey:@"long_parsed_date"] : [appDelegate.activeStory objectForKey:@"short_parsed_date"], + [story_tags length] ? + [appDelegate.activeStory + objectForKey:@"long_parsed_date"] : + [appDelegate.activeStory + objectForKey:@"short_parsed_date"], [appDelegate.activeStory objectForKey:@"story_title"], story_author, story_tags]; @@ -208,9 +239,14 @@ - (IBAction)doNextUnreadStory { int nextIndex = [appDelegate indexOfNextStory]; if (nextIndex == -1) { - [appDelegate.navigationController popToViewController:[appDelegate.navigationController.viewControllers objectAtIndex:0] animated:YES]; + [appDelegate.navigationController + popToViewController:[appDelegate.navigationController.viewControllers + objectAtIndex:0] + animated:YES]; } else { - [appDelegate setActiveStory:[[appDelegate activeFeedStories] objectAtIndex:nextIndex]]; + [appDelegate setActiveStory:[[appDelegate activeFeedStories] + objectAtIndex:nextIndex]]; + [self setActiveStory]; [self showStory]; [self markStoryAsRead]; [self setNextPreviousButtons]; @@ -218,7 +254,9 @@ [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:.5]; [UIView setAnimationBeginsFromCurrentState:NO]; - [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:NO]; + [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp + forView:self.view + cache:NO]; [UIView commitAnimations]; } } @@ -226,9 +264,14 @@ - (IBAction)doPreviousStory { int previousIndex = [appDelegate indexOfPreviousStory]; if (previousIndex == -1) { - [appDelegate.navigationController popToViewController:[appDelegate.navigationController.viewControllers objectAtIndex:0] animated:YES]; + [appDelegate.navigationController + popToViewController:[appDelegate.navigationController.viewControllers + objectAtIndex:0] + animated:YES]; } else { - [appDelegate setActiveStory:[[appDelegate activeFeedStories] objectAtIndex:previousIndex]]; + [appDelegate setActiveStory:[[appDelegate activeFeedStories] + objectAtIndex:previousIndex]]; + [self setActiveStory]; [self showStory]; [self markStoryAsRead]; [self setNextPreviousButtons]; @@ -236,7 +279,9 @@ [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration:.5]; [UIView setAnimationBeginsFromCurrentState:NO]; - [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.view cache:NO]; + [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown + forView:self.view + cache:NO]; [UIView commitAnimations]; } } @@ -247,6 +292,10 @@ [appDelegate showOriginalStory:url]; } +- (void)setActiveStory { + self.activeStoryId = [appDelegate.activeStory objectForKey:@"id"]; +} + - (void)didReceiveMemoryWarning { // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; @@ -254,21 +303,12 @@ // Release any cached data, images, etc that aren't in use. } -- (void)viewDidUnload { - // Release any retained subviews of the main view. - // e.g. self.myOutlet = nil; - self.webView = nil; - self.appDelegate = nil; - self.progressView = nil; -} - - - -- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { +- (BOOL)webView:(UIWebView *)webView + shouldStartLoadWithRequest:(NSURLRequest *)request + navigationType:(UIWebViewNavigationType)navigationType { if (navigationType == UIWebViewNavigationTypeLinkClicked) { NSURL *url = [request URL]; [appDelegate showOriginalStory:url]; - //[url release]; return NO; } @@ -281,15 +321,4 @@ - (void)webViewDidFinishLoad:(UIWebView *)webView { } -- (void)dealloc { - [appDelegate release]; - [webView release]; - [progressView release]; - [toolbar release]; - [buttonNext release]; - [buttonPrevious release]; - [super dealloc]; -} - - @end diff --git a/media/iphone/NewsBlur-Info.plist b/media/iphone/NewsBlur-Info.plist index 0a24627f5..a1e2446c5 100644 --- a/media/iphone/NewsBlur-Info.plist +++ b/media/iphone/NewsBlur-Info.plist @@ -37,5 +37,7 @@ UIInterfaceOrientationPortrait + UIPrerenderedIcon + diff --git a/media/iphone/NewsBlur.xcodeproj/project.pbxproj b/media/iphone/NewsBlur.xcodeproj/project.pbxproj index c531541f5..16d84f952 100755 --- a/media/iphone/NewsBlur.xcodeproj/project.pbxproj +++ b/media/iphone/NewsBlur.xcodeproj/project.pbxproj @@ -114,7 +114,7 @@ 78095E44128EF37E00230C8E /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; 78095E46128EF37F00230C8E /* libz.1.2.3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.1.2.3.dylib; path = usr/lib/libz.1.2.3.dylib; sourceTree = SDKROOT; }; 78095EC6128F30B500230C8E /* OriginalStoryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OriginalStoryViewController.h; sourceTree = ""; }; - 78095EC7128F30B500230C8E /* OriginalStoryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OriginalStoryViewController.m; sourceTree = ""; }; + 78095EC7128F30B500230C8E /* OriginalStoryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 3; lastKnownFileType = sourcecode.c.objc; path = OriginalStoryViewController.m; sourceTree = ""; }; 78095EC8128F30B500230C8E /* OriginalStoryViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = OriginalStoryViewController.xib; sourceTree = ""; }; 7842ECF511D44A530066CF9D /* StoryDetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StoryDetailViewController.h; sourceTree = ""; }; 7842ECF611D44A530066CF9D /* StoryDetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StoryDetailViewController.m; sourceTree = ""; }; diff --git a/media/iphone/logo_114.png b/media/iphone/logo_114.png index d1d50b085db38f7c920ae10a0ce98ab3f7853ae2..7d6e4389da4006c96cb5d2390376873fa221ae0b 100644 GIT binary patch delta 7225 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 Hu0mjfGI;Cq delta 13944 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 %U!^UoNSEbIa*3UK@kOK-iC{Mrl0 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