Fixes to get zxing compatible back to OS 3.0 as proposed by David Oster.

git-svn-id: https://zxing.googlecode.com/svn/trunk@1349 59b500cc-1b3d-0410-9834-0bbf25fbcc57
This commit is contained in:
dmaclach 2010-05-10 17:44:49 +00:00
parent 8af8dea749
commit 0ab1caee3e
2 changed files with 44 additions and 25 deletions

View file

@ -230,14 +230,20 @@ CGImageRef MyCGImageCopyScreenContents(void) {
// [[NSUserDefaults standardUserDefaults] boolForKey:@"allowEditing"]; // [[NSUserDefaults standardUserDefaults] boolForKey:@"allowEditing"];
BOOL isCamera = (sourceType == UIImagePickerControllerSourceTypeCamera); BOOL isCamera = (sourceType == UIImagePickerControllerSourceTypeCamera);
picker.allowsEditing = !isCamera; if ([picker respondsToSelector:@selector(setAllowsEditing:)]) {
// not in 3.0
[picker setAllowsEditing:!isCamera];
}
if (isCamera) { if (isCamera) {
picker.showsCameraControls = NO; if ([picker respondsToSelector:@selector(setShowsCameraControls:)]) {
UIButton *cancelButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [picker setShowsCameraControls:NO];
UIButton *cancelButton =
[UIButton buttonWithType:UIButtonTypeRoundedRect];
NSString *cancelString = NSString *cancelString =
NSLocalizedString(@"DecoderViewController cancel button title", @""); NSLocalizedString(@"DecoderViewController cancel button title", @"");
CGFloat height = [UIFont systemFontSize]; CGFloat height = [UIFont systemFontSize];
CGSize size = [cancelString sizeWithFont:[UIFont systemFontOfSize:height]]; CGSize size =
[cancelString sizeWithFont:[UIFont systemFontOfSize:height]];
[cancelButton setTitle:cancelString forState:UIControlStateNormal]; [cancelButton setTitle:cancelString forState:UIControlStateNormal];
CGRect appFrame = [[UIScreen mainScreen] bounds]; CGRect appFrame = [[UIScreen mainScreen] bounds];
static const int kMargin = 10; static const int kMargin = 10;
@ -257,6 +263,7 @@ CGImageRef MyCGImageCopyScreenContents(void) {
withObject:nil withObject:nil
afterDelay:2.0]; afterDelay:2.0];
} }
}
// Picker is displayed asynchronously. // Picker is displayed asynchronously.
[self presentModalViewController:picker animated:YES]; [self presentModalViewController:picker animated:YES];

View file

@ -48,7 +48,19 @@ static NSMutableSet *sResultParsers = nil;
#ifdef DEBUG #ifdef DEBUG
NSLog(@"parsing result:\n<<<\n%@\n>>>\n", s); NSLog(@"parsing result:\n<<<\n%@\n>>>\n", s);
#endif #endif
for (Class c in [self resultParsers]) {
// Make the parser of last resort the last parser we try.
NSMutableArray *resultParsers =
[NSMutableArray arrayWithArray:[[self resultParsers] allObjects]];
NSUInteger textIndex =
[resultParsers indexOfObject:NSClassFromString(@"TextResultParser")];
if (NSNotFound != textIndex) {
// If it is present, make sure it is last.
[resultParsers exchangeObjectAtIndex:textIndex
withObjectAtIndex:[resultParsers count] - 1];
}
for (Class c in resultParsers) {
#ifdef DEBUG #ifdef DEBUG
NSLog(@"trying %@", NSStringFromClass(c)); NSLog(@"trying %@", NSStringFromClass(c));
#endif #endif