Skip to content

Commit

Permalink
Finish browser. Fixes #8
Browse files Browse the repository at this point in the history
  • Loading branch information
soffes committed Jul 29, 2012
1 parent d4f864c commit cc0c403
Show file tree
Hide file tree
Showing 33 changed files with 59 additions and 74 deletions.
6 changes: 0 additions & 6 deletions Cheddar for iOS.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,6 @@
B29011BE15C4D247008FC626 /* safari-button-mini@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B29011B215C4D247008FC626 /* safari-button-mini@2x.png */; };
B29011BF15C4D247008FC626 /* stop-button-mini.png in Resources */ = {isa = PBXBuildFile; fileRef = B29011B315C4D247008FC626 /* stop-button-mini.png */; };
B29011C015C4D247008FC626 /* stop-button-mini@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B29011B415C4D247008FC626 /* stop-button-mini@2x.png */; };
B29011C315C4D42A008FC626 /* CDIToolbarBarButtonItem.m in Sources */ = {isa = PBXBuildFile; fileRef = B29011C215C4D42A008FC626 /* CDIToolbarBarButtonItem.m */; };
B2A2B07B15C0BE7300772CF6 /* CDKTask+CheddariOSAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = B2A2B07A15C0BE7300772CF6 /* CDKTask+CheddariOSAdditions.m */; };
B2AD02E315C46F7300D9B909 /* nav-back-mini-highlighted.png in Resources */ = {isa = PBXBuildFile; fileRef = B2AD02DF15C46F7300D9B909 /* nav-back-mini-highlighted.png */; };
B2AD02E415C46F7300D9B909 /* nav-back-mini.png in Resources */ = {isa = PBXBuildFile; fileRef = B2AD02E015C46F7300D9B909 /* nav-back-mini.png */; };
Expand Down Expand Up @@ -484,8 +483,6 @@
B29011B215C4D247008FC626 /* safari-button-mini@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "safari-button-mini@2x.png"; sourceTree = "<group>"; };
B29011B315C4D247008FC626 /* stop-button-mini.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stop-button-mini.png"; sourceTree = "<group>"; };
B29011B415C4D247008FC626 /* stop-button-mini@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "stop-button-mini@2x.png"; sourceTree = "<group>"; };
B29011C115C4D42A008FC626 /* CDIToolbarBarButtonItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDIToolbarBarButtonItem.h; sourceTree = "<group>"; };
B29011C215C4D42A008FC626 /* CDIToolbarBarButtonItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDIToolbarBarButtonItem.m; sourceTree = "<group>"; };
B2A2B07915C0BE7300772CF6 /* CDKTask+CheddariOSAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "CDKTask+CheddariOSAdditions.h"; sourceTree = "<group>"; };
B2A2B07A15C0BE7300772CF6 /* CDKTask+CheddariOSAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "CDKTask+CheddariOSAdditions.m"; sourceTree = "<group>"; };
B2AD02DF15C46F7300D9B909 /* nav-back-mini-highlighted.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "nav-back-mini-highlighted.png"; sourceTree = "<group>"; };
Expand Down Expand Up @@ -980,8 +977,6 @@
B208BBBF15BF63A80080705D /* CDITableViewCellDeleteConfirmationControl.m */,
B208BBC015BF63A80080705D /* CDITagView.h */,
B208BBC115BF63A80080705D /* CDITagView.m */,
B29011C115C4D42A008FC626 /* CDIToolbarBarButtonItem.h */,
B29011C215C4D42A008FC626 /* CDIToolbarBarButtonItem.m */,
);
name = Views;
sourceTree = "<group>";
Expand Down Expand Up @@ -1332,7 +1327,6 @@
B2A2B07B15C0BE7300772CF6 /* CDKTask+CheddariOSAdditions.m in Sources */,
B23261AA15C207FF00D455EF /* CDIWebSignInViewController.m in Sources */,
B2AD032115C493C200D9B909 /* CDIWebViewController.m in Sources */,
B29011C315C4D42A008FC626 /* CDIToolbarBarButtonItem.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down
2 changes: 1 addition & 1 deletion Classes/CDIListViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ - (id)init {
_createTaskSemaphore = dispatch_semaphore_create(0);
dispatch_semaphore_signal(_createTaskSemaphore);

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"List" style:UIBarButtonItemStyleBordered target:nil action:nil];
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Tasks" style:UIBarButtonItemStyleBordered target:nil action:nil];
}
return self;
}
Expand Down
3 changes: 1 addition & 2 deletions Classes/CDISettingsViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,7 @@ - (void)upgrade:(id)sender {


- (void)support:(id)sender {
// For now, send them to the website if they are on iOS 6, since there is a bug preventing the modal to work
if ([MFMailComposeViewController canSendMail] == NO || [[[UIDevice currentDevice] systemVersion] isEqualToString:@"6.0"]) {
if ([MFMailComposeViewController canSendMail] == NO) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://cheddarapp.com/support"]];
return;
}
Expand Down
13 changes: 0 additions & 13 deletions Classes/CDIToolbarBarButtonItem.h

This file was deleted.

39 changes: 0 additions & 39 deletions Classes/CDIToolbarBarButtonItem.m

This file was deleted.

4 changes: 3 additions & 1 deletion Classes/CDIWebViewController.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@
// Copyright (c) 2012 Nothing Magical. All rights reserved.
//

@interface CDIWebViewController : UIViewController <SSWebViewDelegate, UIActionSheetDelegate>
#import <MessageUI/MessageUI.h>

@interface CDIWebViewController : UIViewController <SSWebViewDelegate, UIActionSheetDelegate, MFMailComposeViewControllerDelegate>

@property (nonatomic, strong) SSWebView *webView;

Expand Down
66 changes: 54 additions & 12 deletions Classes/CDIWebViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
//

#import "CDIWebViewController.h"
#import "CDIToolbarBarButtonItem.h"
#import "UIColor+CheddariOSAdditions.h"

@interface CDIWebViewController ()
Expand All @@ -19,7 +18,6 @@ @implementation CDIWebViewController {
UIActivityIndicatorView *_indicator;
UIBarButtonItem *_backBarButton;
UIBarButtonItem *_forwardBarButton;
UIBarButtonItem *_reloadBarButton;
}

@synthesize webView = _webView;
Expand All @@ -41,9 +39,8 @@ - (void)viewDidLoad {
[_webView loadURL:_url];
[self.view addSubview:_webView];

_backBarButton = [[CDIToolbarBarButtonItem alloc] initWithCustomImage:[UIImage imageNamed:@"back-button"] landscapeImagePhone:[UIImage imageNamed:@"back-button-mini"] target:_webView action:@selector(goBack)];
_forwardBarButton = [[CDIToolbarBarButtonItem alloc] initWithCustomImage:[UIImage imageNamed:@"forward-button"] landscapeImagePhone:[UIImage imageNamed:@"forward-button-mini"] target:_webView action:@selector(goForward)];
_reloadBarButton = [[CDIToolbarBarButtonItem alloc] initWithCustomImage:[UIImage imageNamed:@"reload-button"] landscapeImagePhone:[UIImage imageNamed:@"reload-button-mini"] target:_webView action:@selector(reload)];
_backBarButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"back-button"] landscapeImagePhone:[UIImage imageNamed:@"back-button-mini"] style:UIBarButtonItemStylePlain target:_webView action:@selector(goBack)];
_forwardBarButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"forward-button"] landscapeImagePhone:[UIImage imageNamed:@"forward-button-mini"] style:UIBarButtonItemStylePlain target:_webView action:@selector(goForward)];

UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

Expand All @@ -52,13 +49,17 @@ - (void)viewDidLoad {
flexibleSpace,
_forwardBarButton,
flexibleSpace,
_reloadBarButton,
[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"reload-button"] landscapeImagePhone:[UIImage imageNamed:@"reload-button-mini"] style:UIBarButtonItemStylePlain target:_webView action:@selector(reload)],
flexibleSpace,
[[CDIToolbarBarButtonItem alloc] initWithCustomImage:[UIImage imageNamed:@"safari-button"] landscapeImagePhone:[UIImage imageNamed:@"safari-button-mini"] target:self action:@selector(openSafari:)],
[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"safari-button"] landscapeImagePhone:[UIImage imageNamed:@"safari-button-mini"] style:UIBarButtonItemStylePlain target:self action:@selector(openSafari:)],
flexibleSpace,
[[CDIToolbarBarButtonItem alloc] initWithCustomImage:[UIImage imageNamed:@"action-button"] landscapeImagePhone:[UIImage imageNamed:@"action-button-mini"] target:self action:@selector(openActionSheet:)],
[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"action-button"] landscapeImagePhone:[UIImage imageNamed:@"action-button-mini"] style:UIBarButtonItemStylePlain target:self action:@selector(openActionSheet:)],
nil];

for (UIBarButtonItem *button in self.toolbarItems) {
button.imageInsets = UIEdgeInsetsMake(3.0f, 0.0f, 0.0f, 0.0f);
}

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Close" style:UIBarButtonItemStyleBordered target:self action:@selector(close:)];
}
Expand Down Expand Up @@ -106,7 +107,14 @@ - (void)openSafari:(id)sender {


- (void)openActionSheet:(id)sender {
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Copy URL", @"Email URL", nil];
UIActionSheet *actionSheet = nil;

if ([MFMailComposeViewController canSendMail] == NO) {
actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Copy URL", nil];
} else {
actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Copy URL", @"Email URL", nil];
}

actionSheet.actionSheetStyle = UIActionSheetStyleBlackTranslucent;
[actionSheet showInView:self.navigationController.view];
}
Expand All @@ -118,7 +126,15 @@ - (void)copyURL:(id)sender {


- (void)emailURL:(id)sender {
if ([MFMailComposeViewController canSendMail] == NO) {
return;
}

MFMailComposeViewController *viewController = [[MFMailComposeViewController alloc] init];
viewController.subject = self.title;
viewController.mailComposeDelegate = self;
[viewController setMessageBody:_webView.lastRequest.mainDocumentURL.absoluteString isHTML:NO];
[self.navigationController presentModalViewController:viewController animated:YES];
}


Expand All @@ -127,7 +143,21 @@ - (void)emailURL:(id)sender {
- (void)_updateBrowserUI {
_backBarButton.enabled = [_webView canGoBack];
_forwardBarButton.enabled = [_webView canGoForward];
[_webView isLoadingPage] ? [_indicator startAnimating] : [_indicator stopAnimating];

UIBarButtonItem *reloadButton = nil;

if ([_webView isLoadingPage]) {
[_indicator startAnimating];
reloadButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"stop-button"] landscapeImagePhone:[UIImage imageNamed:@"stop-button-mini"] style:UIBarButtonItemStylePlain target:_webView action:@selector(stopLoading)];
} else {
[_indicator stopAnimating];
reloadButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"reload-button"] landscapeImagePhone:[UIImage imageNamed:@"reload-button-mini"] style:UIBarButtonItemStylePlain target:_webView action:@selector(reload)];
}
reloadButton.imageInsets = UIEdgeInsetsMake(3.0f, 0.0f, 0.0f, 0.0f);

NSMutableArray *items = [self.toolbarItems mutableCopy];
[items replaceObjectAtIndex:4 withObject:reloadButton];
self.toolbarItems = items;
}


Expand All @@ -152,14 +182,26 @@ - (void)webViewDidFinishLoadingPage:(SSWebView *)aWebView {
}


#pragma mark - UIActionSheet
#pragma mark - UIActionSheetDelegate

- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (buttonIndex == 0) {
[self copyURL:actionSheet];
} else if (buttonIndex == 1) {
} else if (buttonIndex == 1 && [MFMailComposeViewController canSendMail]) {
[self emailURL:actionSheet];
}
}


#pragma mark - MFMailComposeViewControllerDelegate

- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error {
[controller dismissModalViewControllerAnimated:YES];

if (result == MFMailComposeResultSent) {
SSHUDView *hud = [[SSHUDView alloc] init];
[hud completeQuicklyWithTitle:@"Sent!"];
}
}

@end
Binary file modified Resources/Images/action-button-mini.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/action-button-mini@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/action-button.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/action-button@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/back-button-mini.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/back-button-mini@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/back-button.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/back-button@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/forward-button-mini.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/forward-button-mini@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/forward-button.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/forward-button@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/nav-button-mini-highlighted@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/nav-button-mini@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/reload-button-mini.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/reload-button-mini@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/reload-button.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/reload-button@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/safari-button-mini.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/safari-button-mini@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/safari-button.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/safari-button@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/stop-button-mini.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/stop-button-mini@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/stop-button.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Resources/Images/stop-button@2x.png

0 comments on commit cc0c403

Please sign in to comment.