diff --git a/media/iphone/Classes/LoginViewController.h b/media/iphone/Classes/LoginViewController.h index 367533698..ecb4b30be 100644 --- a/media/iphone/Classes/LoginViewController.h +++ b/media/iphone/Classes/LoginViewController.h @@ -36,12 +36,24 @@ - (void)checkPassword; - (void)registerAccount; - (IBAction)selectLoginSignup; + +- (IBAction)selectSignUp; +- (IBAction)selectLogin; + - (void)animateLoop; @property (nonatomic, retain) IBOutlet NewsBlurAppDelegate *appDelegate; + @property (nonatomic, retain) IBOutlet UITextField *usernameInput; @property (nonatomic, retain) IBOutlet UITextField *passwordInput; @property (nonatomic, retain) IBOutlet UITextField *emailInput; +@property (retain, nonatomic) IBOutlet UITextField *signUpUsernameInput; +@property (retain, nonatomic) IBOutlet UITextField *signUpPasswordInput; +@property (retain, nonatomic) IBOutlet UIButton *selectSignUpButton; +@property (retain, nonatomic) IBOutlet UIButton *selectLoginButton; + +@property (retain, nonatomic) IBOutlet UIView *signUpView; +@property (retain, nonatomic) IBOutlet UIView *logInView; @property (nonatomic, retain) NSMutableData * jsonString; @property (nonatomic, retain) IBOutlet UIActivityIndicatorView *activityIndicator; diff --git a/media/iphone/Classes/LoginViewController.m b/media/iphone/Classes/LoginViewController.m index c64201e29..d1861dda5 100644 --- a/media/iphone/Classes/LoginViewController.m +++ b/media/iphone/Classes/LoginViewController.m @@ -11,6 +11,7 @@ #import "ASIHTTPRequest.h" #import "ASIFormDataRequest.h" #import "JSON.h" +#import @implementation LoginViewController @@ -18,6 +19,12 @@ @synthesize usernameInput; @synthesize passwordInput; @synthesize emailInput; +@synthesize signUpUsernameInput; +@synthesize signUpPasswordInput; +@synthesize selectSignUpButton; +@synthesize selectLoginButton; +@synthesize signUpView; +@synthesize logInView; @synthesize jsonString; @synthesize activityIndicator; @synthesize authenticatingLabel; @@ -35,16 +42,45 @@ [appDelegate hideNavigationBar:NO]; } return self; -} + + } - (void)viewDidLoad { [usernameInput becomeFirstResponder]; [appDelegate hideNavigationBar:NO]; + self.usernameInput.borderStyle = UITextBorderStyleRoundedRect; + self.passwordInput.borderStyle = UITextBorderStyleRoundedRect; + self.emailInput.borderStyle = UITextBorderStyleRoundedRect; + self.signUpPasswordInput.borderStyle = UITextBorderStyleRoundedRect; + self.signUpUsernameInput.borderStyle = UITextBorderStyleRoundedRect; + + if (UIInterfaceOrientationIsPortrait(self.interfaceOrientation)) { + self.signUpView.frame = CGRectMake(134, 180, 500, 300); + self.logInView.frame = CGRectMake(902, 180, 500, 300); + self.selectSignUpButton.frame = CGRectMake(134, 80, 250, 50); + self.selectLoginButton.frame = CGRectMake(384, 80, 250, 50); + } else { + self.signUpView.frame = CGRectMake(134 + 128, 80, 500, 300); + self.logInView.frame = CGRectMake(902 + 128, 80, 500, 300); + self.selectSignUpButton.frame = CGRectMake(134 + 128, 20, 250, 50); + self.selectLoginButton.frame = CGRectMake(384 + 128, 20, 250, 50); + } + [super viewDidLoad]; } +- (void)viewDidUnload { + [self setSignUpView:nil]; + [self setLogInView:nil]; + [self setSignUpUsernameInput:nil]; + [self setSignUpPasswordInput:nil]; + [self setSelectSignUpButton:nil]; + [self setSelectLoginButton:nil]; + [super viewDidUnload]; +} + - (void)viewWillAppear:(BOOL)animated { [self.errorLabel setHidden:YES]; [self.authenticatingLabel setHidden:YES]; @@ -70,14 +106,44 @@ // Release any cached data, images, etc that aren't in use. } +- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { + if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { + if (UIInterfaceOrientationIsPortrait(toInterfaceOrientation)){ + self.signUpView.frame = CGRectMake(self.signUpView.frame.origin.x - 128, 180, 500, 300); + self.logInView.frame = CGRectMake(self.logInView.frame.origin.x - 128, 180, 500, 300); + + self.selectSignUpButton.frame = CGRectMake(134, 80, 250, 50); + self.selectLoginButton.frame = CGRectMake(384, 80, 250, 50); + + }else{ + self.signUpView.frame = CGRectMake(self.signUpView.frame.origin.x + 128, 80, 500, 300); + self.logInView.frame = CGRectMake(self.logInView.frame.origin.x + 128, 80, 500, 300); + + self.selectSignUpButton.frame = CGRectMake(134 + 128, 20, 250, 50); + self.selectLoginButton.frame = CGRectMake(384 + 128, 20, 250, 50); + } + + } +} + + - (void)dealloc { [appDelegate release]; [usernameInput release]; [passwordInput release]; + [emailInput release]; [jsonString release]; + [signUpView release]; + [logInView release]; + [signUpUsernameInput release]; + [signUpPasswordInput release]; + [selectSignUpButton release]; + [selectLoginButton release]; [super dealloc]; } + + #pragma mark - #pragma mark Login @@ -202,17 +268,46 @@ [self animateLoop]; } +- (IBAction)selectSignUp { + if (UIInterfaceOrientationIsPortrait(self.interfaceOrientation)) { + [UIView animateWithDuration:0.35 animations:^{ + self.signUpView.frame = CGRectMake(134, 180, 500, 300); + self.logInView.frame = CGRectMake(902, 180, 500, 300); + }]; + } else { + [UIView animateWithDuration:0.35 animations:^{ + self.signUpView.frame = CGRectMake(134 + 128, 80, 500, 300); + self.logInView.frame = CGRectMake(902 + 128, 80, 500, 300); + }]; + } + +} + +- (IBAction)selectLogin { + if (UIInterfaceOrientationIsPortrait(self.interfaceOrientation)) { + [UIView animateWithDuration:0.35 animations:^{ + self.signUpView.frame = CGRectMake(-634, 180, 500, 300); + self.logInView.frame = CGRectMake(134, 180, 500, 300); + }]; + } else { + [UIView animateWithDuration:0.35 animations:^{ + self.signUpView.frame = CGRectMake(-634 + 128, 80, 500, 300); + self.logInView.frame = CGRectMake(134 + 128, 80, 500, 300); + }]; + } +} + - (void)animateLoop { if ([self.loginControl selectedSegmentIndex] == 0) { [UIView animateWithDuration:0.5 animations:^{ // Login - usernameInput.frame = CGRectMake(20, 67, 280, 31); + usernameInput.frame = CGRectMake(186, 388, 400, 44); usernameOrEmailLabel.alpha = 1.0; - passwordInput.frame = CGRectMake(20, 129, 280, 31); - passwordLabel.frame = CGRectMake(21, 106, 212, 22); - passwordOptionalLabel.frame = CGRectMake(199, 112, 101, 16); + passwordInput.frame = CGRectMake(186, 496, 400, 44); + passwordLabel.frame = CGRectMake(186, 460, 120, 22); + passwordOptionalLabel.frame = CGRectMake(483, 466, 101, 16); emailInput.alpha = 0.0; emailLabel.alpha = 0.0; @@ -225,13 +320,13 @@ } else { [UIView animateWithDuration:0.5 animations:^{ // Signup - usernameInput.frame = CGRectMake(20, 67, 130, 31); + usernameInput.frame = CGRectMake(186, 388, 190, 44); usernameOrEmailLabel.alpha = 0.0; - passwordInput.frame = CGRectMake(170, 67, 130, 31); - passwordLabel.frame = CGRectMake(171, 44, 212, 22); - passwordOptionalLabel.frame = CGRectMake(199, 50, 101, 16); + passwordInput.frame = CGRectMake(396, 388, 190, 44); + passwordLabel.frame = CGRectMake(396, 353, 120, 22); + passwordOptionalLabel.frame = CGRectMake(483, 359, 101, 16); emailInput.alpha = 1.0; emailLabel.alpha = 1.0; @@ -243,5 +338,4 @@ [usernameInput becomeFirstResponder]; } } - @end diff --git a/media/iphone/Classes/NewsBlurAppDelegate.h b/media/iphone/Classes/NewsBlurAppDelegate.h index 0527fbf00..55017fb99 100644 --- a/media/iphone/Classes/NewsBlurAppDelegate.h +++ b/media/iphone/Classes/NewsBlurAppDelegate.h @@ -105,7 +105,7 @@ - (void)hideNavigationBar:(BOOL)animated; - (void)showNavigationBar:(BOOL)animated; - (void)setTitle:(NSString *)title; -- (void)showOriginalStory:(NSURL *)url; +- (void)showOriginalStory:(NSURL *)url fromOriginalButton:(BOOL)fromOriginalButton; - (void)closeOriginalStory; - (int)indexOfNextStory; diff --git a/media/iphone/Classes/NewsBlurAppDelegate.m b/media/iphone/Classes/NewsBlurAppDelegate.m index ab902d045..14a52605d 100644 --- a/media/iphone/Classes/NewsBlurAppDelegate.m +++ b/media/iphone/Classes/NewsBlurAppDelegate.m @@ -142,8 +142,13 @@ #pragma mark Views - (void)showLogin { - UINavigationController *navController = self.navigationController; - [navController presentModalViewController:loginViewController animated:YES]; + if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { + [self.navigationController presentModalViewController:loginViewController animated:YES]; + + } else { + [self.navigationController presentModalViewController:loginViewController animated:YES]; + } + } - (void)showAdd { @@ -291,7 +296,13 @@ [label release]; } -- (void)showOriginalStory:(NSURL *)url { +- (void)showOriginalStory:(NSURL *)url + fromOriginalButton:(BOOL)fromOriginalButton { + if (fromOriginalButton) { + [MBProgressHUD hideHUDForView:originalStoryViewController.view animated:YES]; + MBProgressHUD *HUD = [MBProgressHUD showHUDAddedTo:originalStoryViewController.view animated:YES]; + HUD.labelText = @"On its way..."; + } self.activeOriginalStoryURL = url; UINavigationController *navController = self.navigationController; [navController presentModalViewController:originalStoryViewController animated:YES]; diff --git a/media/iphone/Classes/NewsBlurViewController.m b/media/iphone/Classes/NewsBlurViewController.m index 0d6d3a130..8137fd04f 100644 --- a/media/iphone/Classes/NewsBlurViewController.m +++ b/media/iphone/Classes/NewsBlurViewController.m @@ -121,6 +121,7 @@ appDelegate.detailViewController.navigationItem.titleView = nil; appDelegate.detailViewController.navigationItem.title = @"NewsBlur"; + appDelegate.detailViewController.navigationItem.rightBarButtonItem = nil; } - (void)viewDidAppear:(BOOL)animated { diff --git a/media/iphone/Classes/OriginalStoryViewController.m b/media/iphone/Classes/OriginalStoryViewController.m index 6250de3b9..9cdabf939 100644 --- a/media/iphone/Classes/OriginalStoryViewController.m +++ b/media/iphone/Classes/OriginalStoryViewController.m @@ -184,6 +184,7 @@ } - (void)webViewDidFinishLoad:(UIWebView *)aWebView { + [MBProgressHUD hideHUDForView:self.view animated:YES]; [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; [self updateButtons]; [self updateTitle:aWebView]; diff --git a/media/iphone/Classes/StoryDetailViewController.m b/media/iphone/Classes/StoryDetailViewController.m index 744f61208..3eb55b3c5 100644 --- a/media/iphone/Classes/StoryDetailViewController.m +++ b/media/iphone/Classes/StoryDetailViewController.m @@ -479,7 +479,7 @@ shouldStartLoadWithRequest:(NSURLRequest *)request - (void)showOriginalSubview:(id)sender { NSURL *url = [NSURL URLWithString:[appDelegate.activeStory objectForKey:@"story_permalink"]]; - [appDelegate showOriginalStory:url]; + [appDelegate showOriginalStory:url fromOriginalButton: YES]; } @end diff --git a/media/iphone/NewsBlur.xcodeproj/project.pbxproj b/media/iphone/NewsBlur.xcodeproj/project.pbxproj index fc37e8cea..a31bf8153 100755 --- a/media/iphone/NewsBlur.xcodeproj/project.pbxproj +++ b/media/iphone/NewsBlur.xcodeproj/project.pbxproj @@ -59,6 +59,12 @@ 4307BEE41565EDF8007A932A /* warning.png in Resources */ = {isa = PBXBuildFile; fileRef = 4307BE7F1565EDF8007A932A /* warning.png */; }; 4307BEE61565EDF8007A932A /* world.png in Resources */ = {isa = PBXBuildFile; fileRef = 4307BE801565EDF8007A932A /* world.png */; }; 4307BEFE1565EEBC007A932A /* Base64.m in Sources */ = {isa = PBXBuildFile; fileRef = 4307BEFD1565EEBC007A932A /* Base64.m */; }; + 433323B015886FA80025064D /* logo_newsblur.png in Resources */ = {isa = PBXBuildFile; fileRef = 433323AF15886FA80025064D /* logo_newsblur.png */; }; + 433323B8158901A40025064D /* fountain_pen.png in Resources */ = {isa = PBXBuildFile; fileRef = 433323B6158901A40025064D /* fountain_pen.png */; }; + 433323B9158901A40025064D /* fountain_pen@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 433323B7158901A40025064D /* fountain_pen@2x.png */; }; + 433323BB158901C10025064D /* login_background.png in Resources */ = {isa = PBXBuildFile; fileRef = 433323BA158901C10025064D /* login_background.png */; }; + 433323BE1589022C0025064D /* user.png in Resources */ = {isa = PBXBuildFile; fileRef = 433323BC1589022C0025064D /* user.png */; }; + 433323BF1589022C0025064D /* user@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 433323BD1589022C0025064D /* user@2x.png */; }; 433D247E1582EEB400AE9E72 /* AddSiteAutocompleteCell~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 43D045271565BC150085F811 /* AddSiteAutocompleteCell~ipad.xib */; }; 433D247F1582EEB900AE9E72 /* AddSiteViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 43D045261565BC150085F811 /* AddSiteViewController~ipad.xib */; }; 433D24801582EEBB00AE9E72 /* FeedDetailTableCell~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 43D045231565BC150085F811 /* FeedDetailTableCell~ipad.xib */; }; @@ -246,6 +252,12 @@ 4307BE801565EDF8007A932A /* world.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = world.png; sourceTree = ""; }; 4307BEFC1565EEBC007A932A /* Base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Base64.h; sourceTree = ""; }; 4307BEFD1565EEBC007A932A /* Base64.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Base64.m; sourceTree = ""; }; + 433323AF15886FA80025064D /* logo_newsblur.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = logo_newsblur.png; sourceTree = ""; }; + 433323B6158901A40025064D /* fountain_pen.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = fountain_pen.png; sourceTree = ""; }; + 433323B7158901A40025064D /* fountain_pen@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "fountain_pen@2x.png"; sourceTree = ""; }; + 433323BA158901C10025064D /* login_background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = login_background.png; sourceTree = ""; }; + 433323BC1589022C0025064D /* user.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = user.png; sourceTree = ""; }; + 433323BD1589022C0025064D /* user@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "user@2x.png"; sourceTree = ""; }; 43B8F018156603170008733D /* AddSiteAutocompleteCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = AddSiteAutocompleteCell.xib; sourceTree = ""; }; 43B8F019156603170008733D /* AddSiteViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = AddSiteViewController.xib; sourceTree = ""; }; 43B8F01A156603170008733D /* FeedDetailTableCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = FeedDetailTableCell.xib; sourceTree = ""; }; @@ -256,7 +268,7 @@ 43B8F01F156603170008733D /* NewsBlurViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = NewsBlurViewController.xib; sourceTree = ""; }; 43B8F020156603170008733D /* OriginalStoryViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = OriginalStoryViewController.xib; sourceTree = ""; }; 43B8F021156603170008733D /* StoryDetailViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = StoryDetailViewController.xib; sourceTree = ""; }; - 43C1E63D1583DA3F006874F1 /* SplitStoryDetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; name = SplitStoryDetailViewController.h; path = ../SplitStoryDetailViewController.h; sourceTree = ""; }; + 43C1E63D1583DA3F006874F1 /* SplitStoryDetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SplitStoryDetailViewController.h; path = ../SplitStoryDetailViewController.h; sourceTree = ""; }; 43C1E63E1583DA3F006874F1 /* SplitStoryDetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SplitStoryDetailViewController.m; path = ../SplitStoryDetailViewController.m; sourceTree = ""; }; 43C1E63F1583DA3F006874F1 /* SplitStoryDetailViewController~ipad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = "SplitStoryDetailViewController~ipad.xib"; sourceTree = ""; }; 43D0451F1565BC150085F811 /* MainWindow~ipad.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = "MainWindow~ipad.xib"; path = "Resources-iPad/MainWindow~ipad.xib"; sourceTree = ""; }; @@ -669,6 +681,19 @@ path = Resources; sourceTree = ""; }; + 433323B5158901A40025064D /* Images */ = { + isa = PBXGroup; + children = ( + 433323BC1589022C0025064D /* user.png */, + 433323BD1589022C0025064D /* user@2x.png */, + 433323BA158901C10025064D /* login_background.png */, + 433323B6158901A40025064D /* fountain_pen.png */, + 433323B7158901A40025064D /* fountain_pen@2x.png */, + ); + name = Images; + path = "Resources-iPad/Images"; + sourceTree = ""; + }; 43B8F017156603170008733D /* Resources-iPhone */ = { isa = PBXGroup; children = ( @@ -689,6 +714,8 @@ 43D0451C1565BC090085F811 /* Resources-iPad */ = { isa = PBXGroup; children = ( + 433323B5158901A40025064D /* Images */, + 433323AF15886FA80025064D /* logo_newsblur.png */, 43D045271565BC150085F811 /* AddSiteAutocompleteCell~ipad.xib */, 43D045261565BC150085F811 /* AddSiteViewController~ipad.xib */, 43D045231565BC150085F811 /* FeedDetailTableCell~ipad.xib */, @@ -1225,6 +1252,12 @@ 433D24861582EECA00AE9E72 /* OriginalStoryViewController~ipad.xib in Resources */, 433D24871582EECD00AE9E72 /* StoryDetailViewController~ipad.xib in Resources */, 43C1E6411583DA3F006874F1 /* SplitStoryDetailViewController~ipad.xib in Resources */, + 433323B015886FA80025064D /* logo_newsblur.png in Resources */, + 433323B8158901A40025064D /* fountain_pen.png in Resources */, + 433323B9158901A40025064D /* fountain_pen@2x.png in Resources */, + 433323BB158901C10025064D /* login_background.png in Resources */, + 433323BE1589022C0025064D /* user.png in Resources */, + 433323BF1589022C0025064D /* user@2x.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/media/iphone/Resources-iPad/Classes/LoginViewController~ipad.xib b/media/iphone/Resources-iPad/Classes/LoginViewController~ipad.xib index 0edf85ab0..02ec6515f 100644 --- a/media/iphone/Resources-iPad/Classes/LoginViewController~ipad.xib +++ b/media/iphone/Resources-iPad/Classes/LoginViewController~ipad.xib @@ -12,14 +12,13 @@ YES - IBProxyObject + IBUIView IBUIImageView IBUILabel + IBProxyObject IBUIActivityIndicatorView IBUITextField - IBUISegmentedControl - IBUIScrollView - IBUIView + IBUIButton YES @@ -46,11 +45,11 @@ YES - 292 - {{-8, 227}, {791, 777}} + 274 + {768, 1004} - + _NS:541 NO IBIPadFramework @@ -59,83 +58,549 @@ Background.png - + 292 - {768, 230} + + YES + + + 292 + {500, 300} + + + + _NS:541 + NO + NO + IBIPadFramework + + NSImage + login_background.png + + + + + 292 + {{93, 60}, {300, 16}} + + + + NO + YES + NO + IBIPadFramework + Username + + 1 + MCAwIDAAA + + + + 3 + MQA + + 2 + + + 1 + 10 + + Georgia + Georgia + 0 + 16 + + + Georgia + 16 + 16 + + NO + + + + 292 + {{93, 84}, {139, 34}} + + + + + 3 + MQA + + + NO + NO + 0.89999997615814209 + IBIPadFramework + 0 + + 1 + + 3 + MAA + + + YES + 18 + + 1 + 7 + 4 + IBCocoaTouchFramework + + 1 + + Helvetica + Helvetica + 0 + 18 + + + Helvetica + 18 + 16 + + + + + 292 + {{245, 60}, {300, 16}} + + + + NO + YES + NO + IBIPadFramework + Password + + + + 3 + MQA + + + 1 + 18 + + + NO + + + + 292 + {{245, 83}, {148, 34}} + + + + + 3 + MQA + + + NO + NO + 0.89999997615814209 + IBIPadFramework + 0 + + 1 + + 3 + MAA + + + YES + YES + 18 + + 1 + 1 + 1 + YES + IBCocoaTouchFramework + + 1 + + + + + + 292 + {{292, 65}, {101, 10}} + + + + NO + YES + NO + IBIPadFramework + OPTIONAL + + 1 + MC42OTUzNzIxMDQ2IDAuNzc4NzQ4MzMzNSAwLjgzMzYwNDc1MwA + + + + 1 + 7 + 2 + + 1 + 10 + + + Helvetica + 10 + 16 + + NO + + + + 292 + {{93, 144}, {300, 20}} + + + + NO + YES + NO + IBIPadFramework + Email + + + + 3 + MQA + + + 1 + 10 + + + NO + + + + 292 + {{93, 172}, {300, 34}} + + + + + 3 + MQA + + + NO + NO + IBIPadFramework + 0 + + 1 + + 3 + MAA + + + YES + 18 + + 1 + 7 + 3 + IBCocoaTouchFramework + + 1 + + + + + {{134, 583}, {500, 300}} - - _NS:541 - - 1 - MCAwIDAAA - - NO + + _NS:9 IBIPadFramework - - NSImage - logo_background.png - - + 292 - {{242, 91}, {285, 48}} - - - - _NS:541 - 2 - NO - IBIPadFramework - - NSImage - logo_newsblur_blur.png + + YES + + + 292 + {500, 300} + + + + _NS:541 + NO + NO + IBIPadFramework + + + + + 292 + {{100, 63}, {300, 14}} + + + + NO + YES + NO + IBIPadFramework + Username + + + + 3 + MQA + + + 1 + 10 + + + NO + + + + 292 + {{100, 85}, {300, 34}} + + + + + 3 + MQA + + + NO + NO + 0.89999997615814209 + IBIPadFramework + 0 + + 1 + + 3 + MAA + + + YES + 18 + + 1 + 7 + 4 + IBCocoaTouchFramework + + 1 + + + + + + 292 + {{100, 142}, {300, 16}} + + + + NO + YES + NO + IBIPadFramework + Password + + + + 3 + MQA + + + 1 + 18 + + + NO + + + + 292 + {{100, 163}, {300, 34}} + + + + + 3 + MQA + + + NO + NO + 0.89999997615814209 + IBIPadFramework + 0 + + 1 + + 3 + MAA + + + YES + YES + 18 + + 1 + 1 + 1 + YES + IBCocoaTouchFramework + + 1 + + + + + + 292 + {{299, 147}, {101, 10}} + + + + NO + YES + NO + IBIPadFramework + OPTIONAL + + 1 + MC42OTUzNzIxMDQ2IDAuNzc4NzQ4MzMzNSAwLjgzMzYwNDc1MwA + + + + 1 + 7 + 2 + + + NO + - - - - -2147483356 - {{244, 566}, {280, 52}} + {{134, 200}, {500, 300}} - - _NS:311 + + _NS:9 + IBIPadFramework + + + + 292 + {{134, 80}, {250, 50}} + + + + _NS:9 NO - YES - 4 - NO IBIPadFramework - Authenticating... - + 0 + 0 + 0.0 + 0.0 + 50 + 0.0 + 0.0 + 0.0 + 16 + 0.0 + + 1 + MC42IDAuNiAwLjYAA + + Sign Up + 3 MQA - - - 1 - 10 - 1 - - Helvetica - Helvetica - 0 - 17 + + 3 + MQA + - - Helvetica - 17 + + 3 + MC41AA + + + NSImage + fountain_pen.png + + + Georgia-Bold + Georgia + 2 + 15 + + + Georgia-Bold + 15 16 + + + 292 + {{384, 80}, {250, 50}} + + + + _NS:9 + NO + IBIPadFramework + 0 + 0 + 0.0 + 0.0 + 0.0 + 50 + 0.0 + 0.0 + 16 + 0.0 + + 1 + MC42IDAuNiAwLjYAA + + Login + + + 3 + MQA + + + + + NSImage + user.png + + + + -2147483356 - {{244, 566}, {280, 52}} + {{244, 428}, {280, 52}} - + _NS:311 NO YES @@ -153,310 +618,52 @@ 17 2 1 + + Helvetica + Helvetica + 0 + 17 + + + Helvetica + 17 + 16 + + + + + -2147483356 + {{244, 428}, {280, 52}} + + + + _NS:311 + NO + YES + 4 + NO + IBIPadFramework + Authenticating... + + + + 1 + 10 + 1 - + -2147483356 - {{295, 582}, {20, 20}} + {{374, 444}, {20, 20}} + _NS:824 NO IBIPadFramework - - - 268 - - YES - - - 292 - {{20, 67}, {280, 31}} - - - - NO - NO - 0.89999997615814209 - IBIPadFramework - 0 - - 3 - - 3 - MAA - - 2 - - - YES - 18 - - 1 - 7 - 4 - IBCocoaTouchFramework - - 1 - - - - - - 292 - {{21, 44}, {212, 22}} - - - - NO - YES - NO - IBIPadFramework - Username - - 3 - MQA - - - - - 1 - 10 - - 1 - 17 - - - NO - - - - 292 - {{21, 44}, {212, 22}} - - - - NO - YES - NO - IBIPadFramework - Username or email - - 3 - MQA - - - - - 1 - 10 - - - NO - - - - 292 - {{20, 129}, {280, 31}} - - - - NO - NO - 0.89999997615814209 - IBIPadFramework - 0 - - 3 - - 3 - MAA - - - YES - YES - 18 - - 1 - 1 - 1 - YES - IBCocoaTouchFramework - - 1 - - - - - - 292 - {{21, 106}, {212, 22}} - - - - NO - YES - NO - IBIPadFramework - Password - - - - 1 - 18 - - - NO - - - - 292 - {{199, 112}, {101, 16}} - - - - NO - YES - NO - IBIPadFramework - OPTIONAL - - 1 - MC42OTUzNzIxMDQ2IDAuNzc4NzQ4MzMzNSAwLjgzMzYwNDc1MwA - - - - 1 - 7 - 2 - - 1 - 10 - - - Helvetica - 10 - 16 - - NO - - - - 292 - {{20, 129}, {280, 31}} - - - - NO - NO - 0.0 - IBIPadFramework - 0 - - 3 - - 3 - MAA - - - YES - 17 - - 1 - 7 - 3 - IBCocoaTouchFramework - - 1 - - - - - - 292 - {{21, 106}, {212, 22}} - - - - NO - YES - 0.0 - NO - IBIPadFramework - Email - - 3 - MQA - - - - - 1 - 10 - - - NO - - - - 292 - {{-3, 0}, {329, 30}} - - - - _NS:262 - IBIPadFramework - 2 - 2 - 0 - - YES - Login - Signup - - - YES - - - - - YES - - - - - YES - {0, 0} - {0, 0} - - - YES - - - - - 1 - MC4yMjcwMjkxMjggMC4zNjIxMzU3NzY0IDAuNDU2NTIxNzM5MQA - - - - {{224, 337}, {320, 227}} - - - - _NS:174 - NO - YES - YES - IBIPadFramework - YES - YES - NO - 1 - {{0, 20}, {768, 1004}} @@ -485,43 +692,11 @@ - activityIndicator + emailLabel - + - 27 - - - - authenticatingLabel - - - - 28 - - - - errorLabel - - - - 30 - - - - usernameInput - - - - 35 - - - - passwordInput - - - - 36 + 50 @@ -541,19 +716,19 @@ - usernameLabel + emailInput - + - 40 + 49 - loginControl + signUpView - + - 41 + 101 @@ -565,19 +740,83 @@ - emailInput + logInView - + - 49 + 102 - emailLabel + usernameInput - + - 50 + 108 + + + + passwordInput + + + + 109 + + + + errorLabel + + + + 30 + + + + authenticatingLabel + + + + 28 + + + + activityIndicator + + + + 27 + + + + signUpUsernameInput + + + + 117 + + + + signUpPasswordInput + + + + 119 + + + + selectSignUpButton + + + + 120 + + + + selectLoginButton + + + + 121 @@ -595,23 +834,6 @@ 20 - - - delegate - - - - 32 - - - - selectLoginSignup - - - 13 - - 42 - delegate @@ -620,6 +842,24 @@ 48 + + + selectSignUp + + + 7 + + 106 + + + + selectLogin + + + 7 + + 105 + @@ -637,13 +877,14 @@ YES - - - - - - + + + + + + + @@ -659,14 +900,130 @@ - 22 - + 26 + + + 75 + + + + + 76 + + + + + 74 + + + YES + + + + + + + + + + + Sign Up View + + + 43 + + + + + 4 + + + Input - Username + + + 7 + + + + + 6 + + + Input - Password + + + 46 + + + Label - Email + + + 45 + + + Input - Email + + + 34 + + + Label - OPTIONAL + + + 82 + + + YES + + + + + + + + + Login View + + + 83 + + + Label - OPTIONAL + + + 86 + + + Input - Password + + + 87 + + + + + 88 + + + Input - Username + + + 89 + + + 23 + + + + 29 + + Label - Error 24 @@ -679,79 +1036,9 @@ - 29 - - - - - 31 - - - YES - - - - - - - - - - - - Scroll View - - - 4 - - - - - 5 - - - - - 6 - - - - - 7 - - - - - 26 - - - - - 33 - - - - - 34 - - - Label - OPTIONAL - - - 43 - - - - - 45 - - - - - 46 - - - Label - Email + 91 + + @@ -765,23 +1052,30 @@ -2.IBPluginDependency 1.IBLastUsedUIStatusBarStylesToTargetRuntimesMap 1.IBPluginDependency - 22.IBPluginDependency 23.IBPluginDependency 24.IBPluginDependency 25.IBPluginDependency 26.IBPluginDependency 29.IBPluginDependency - 31.IBPluginDependency - 33.IBPluginDependency - 33.IUISegmentedControlInspectorSelectedSegmentMetadataKey 34.IBPluginDependency 4.IBPluginDependency 43.IBPluginDependency 45.IBPluginDependency 46.IBPluginDependency - 5.IBPluginDependency 6.IBPluginDependency 7.IBPluginDependency + 74.IBPluginDependency + 75.IBPluginDependency + 75.IBUIButtonInspectorSelectedEdgeInsetMetadataKey + 76.IBPluginDependency + 76.IBUIButtonInspectorSelectedEdgeInsetMetadataKey + 82.IBPluginDependency + 83.IBPluginDependency + 86.IBPluginDependency + 87.IBPluginDependency + 88.IBPluginDependency + 89.IBPluginDependency + 91.IBPluginDependency YES @@ -802,13 +1096,20 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -825,7 +1126,7 @@ - 71 + 121 @@ -1147,14 +1448,56 @@ LoginViewController UIViewController - selectLoginSignup - id + YES + + YES + selectLogin + selectLoginSignup + selectSignUp + tapLoginButton + tapSignupButton + + + YES + id + id + id + id + id + - selectLoginSignup - - selectLoginSignup - id + YES + + YES + selectLogin + selectLoginSignup + selectSignUp + tapLoginButton + tapSignupButton + + + YES + + selectLogin + id + + + selectLoginSignup + id + + + selectSignUp + id + + + tapLoginButton + id + + + tapSignupButton + id + @@ -1167,10 +1510,16 @@ emailInput emailLabel errorLabel + logInView loginControl passwordInput passwordLabel passwordOptionalLabel + selectLoginButton + selectSignUpButton + signUpPasswordInput + signUpUsernameInput + signUpView usernameInput usernameLabel usernameOrEmailLabel @@ -1183,10 +1532,16 @@ UITextField UILabel UILabel + UIView UISegmentedControl UITextField UILabel UILabel + UIButton + UIButton + UITextField + UITextField + UIView UITextField UILabel UILabel @@ -1202,10 +1557,16 @@ emailInput emailLabel errorLabel + logInView loginControl passwordInput passwordLabel passwordOptionalLabel + selectLoginButton + selectSignUpButton + signUpPasswordInput + signUpUsernameInput + signUpView usernameInput usernameLabel usernameOrEmailLabel @@ -1236,6 +1597,10 @@ errorLabel UILabel + + logInView + UIView + loginControl UISegmentedControl @@ -1252,6 +1617,26 @@ passwordOptionalLabel UILabel + + selectLoginButton + UIButton + + + selectSignUpButton + UIButton + + + signUpPasswordInput + UITextField + + + signUpUsernameInput + UITextField + + + signUpView + UIView + usernameInput UITextField @@ -1428,24 +1813,30 @@ YES addSiteViewController + detailViewController feedDetailViewController feedsViewController loginViewController moveSiteViewController navigationController originalStoryViewController + splitStoryController + splitStoryDetailNavigationController storyDetailViewController window YES AddSiteViewController + SplitStoryDetailViewController FeedDetailViewController NewsBlurViewController LoginViewController MoveSiteViewController UINavigationController OriginalStoryViewController + UISplitViewController + UINavigationController StoryDetailViewController UIWindow @@ -1455,12 +1846,15 @@ YES addSiteViewController + detailViewController feedDetailViewController feedsViewController loginViewController moveSiteViewController navigationController originalStoryViewController + splitStoryController + splitStoryDetailNavigationController storyDetailViewController window @@ -1470,6 +1864,10 @@ addSiteViewController AddSiteViewController + + detailViewController + SplitStoryDetailViewController + feedDetailViewController FeedDetailViewController @@ -1494,6 +1892,14 @@ originalStoryViewController OriginalStoryViewController + + splitStoryController + UISplitViewController + + + splitStoryDetailNavigationController + UINavigationController + storyDetailViewController StoryDetailViewController @@ -1786,6 +2192,25 @@ ./Classes/OriginalStoryViewController.h + + SplitStoryDetailViewController + UIViewController + + appDelegate + NewsBlurAppDelegate + + + appDelegate + + appDelegate + NewsBlurAppDelegate + + + + IBProjectSource + ./Classes/SplitStoryDetailViewController.h + + StoryDetailViewController UIViewController @@ -1926,14 +2351,16 @@ YES Background.png - logo_background.png - logo_newsblur_blur.png + fountain_pen.png + login_background.png + user.png YES {320, 480} - {1, 59} - {312, 55} + {32, 32} + {504, 304} + {32, 32} 1181 diff --git a/media/iphone/Resources-iPad/Images/fountain_pen.png b/media/iphone/Resources-iPad/Images/fountain_pen.png new file mode 100644 index 000000000..c26d9bb7f Binary files /dev/null and b/media/iphone/Resources-iPad/Images/fountain_pen.png differ diff --git a/media/iphone/Resources-iPad/Images/fountain_pen@2x.png b/media/iphone/Resources-iPad/Images/fountain_pen@2x.png new file mode 100644 index 000000000..0323ab973 Binary files /dev/null and b/media/iphone/Resources-iPad/Images/fountain_pen@2x.png differ diff --git a/media/iphone/Resources-iPad/Images/login_background.png b/media/iphone/Resources-iPad/Images/login_background.png new file mode 100644 index 000000000..a0b6aa17b Binary files /dev/null and b/media/iphone/Resources-iPad/Images/login_background.png differ diff --git a/media/iphone/Resources-iPad/Images/user.png b/media/iphone/Resources-iPad/Images/user.png new file mode 100644 index 000000000..48664e3be Binary files /dev/null and b/media/iphone/Resources-iPad/Images/user.png differ diff --git a/media/iphone/Resources-iPad/Images/user@2x.png b/media/iphone/Resources-iPad/Images/user@2x.png new file mode 100644 index 000000000..9b2d453a7 Binary files /dev/null and b/media/iphone/Resources-iPad/Images/user@2x.png differ diff --git a/media/iphone/logo_newsblur.png b/media/iphone/logo_newsblur.png new file mode 100644 index 000000000..fc29ed0fb Binary files /dev/null and b/media/iphone/logo_newsblur.png differ