From b8cbc9136ec2df8be2062344698de30cf4c37ec2 Mon Sep 17 00:00:00 2001 From: Dennis Lysenko Date: Fri, 13 May 2016 13:50:22 -0400 Subject: [PATCH] send DZNPhotoPickerControllerSearchTerm key containing the search term for which an image was found --- .../Core/DZNPhotoDisplayViewController.m | 17 +++++++++++++++-- Source/Classes/Core/DZNPhotoPickerController.m | 1 + .../Core/DZNPhotoPickerControllerConstants.h | 1 + .../Core/DZNPhotoPickerControllerConstants.m | 1 + 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/Source/Classes/Core/DZNPhotoDisplayViewController.m b/Source/Classes/Core/DZNPhotoDisplayViewController.m index 3b7ebdf7..1e203c57 100644 --- a/Source/Classes/Core/DZNPhotoDisplayViewController.m +++ b/Source/Classes/Core/DZNPhotoDisplayViewController.m @@ -432,7 +432,14 @@ - (void)selectedMetadata:(DZNPhotoMetadata *)metadata [self.navigationController pushViewController:controller animated:YES]; [controller setAcceptBlock:^(DZNPhotoEditorViewController *editor, NSDictionary *userInfo){ - [metadata postMetadataUpdate:userInfo]; + if (self.searchController.searchBar.text) { + NSMutableDictionary *allUserInfo = [userInfo mutableCopy]; + if (self.searchController.searchBar.text) [allUserInfo setObject:self.searchController.searchBar.text forKey:DZNPhotoPickerControllerSearchTerm]; + [metadata postMetadataUpdate:allUserInfo]; + } else { + [metadata postMetadataUpdate:userInfo]; + } + [self.navigationController popViewControllerAnimated:YES]; }]; @@ -471,7 +478,13 @@ - (void)selectedMetadata:(DZNPhotoMetadata *)metadata progress:NULL completed:^(UIImage *image, NSData *data, NSError *error, BOOL finished){ if (image) { - NSDictionary *userInfo = @{UIImagePickerControllerOriginalImage: image}; + NSMutableDictionary *userInfo = [[NSMutableDictionary alloc] init]; + [userInfo setObject:image forKey:UIImagePickerControllerOriginalImage]; + + if (self.searchController.searchBar.text) { + [userInfo setObject:self.searchController.searchBar.text forKey:DZNPhotoPickerControllerSearchTerm]; + } + [metadata postMetadataUpdate:userInfo]; } else { diff --git a/Source/Classes/Core/DZNPhotoPickerController.m b/Source/Classes/Core/DZNPhotoPickerController.m index 8891930b..f1694099 100644 --- a/Source/Classes/Core/DZNPhotoPickerController.m +++ b/Source/Classes/Core/DZNPhotoPickerController.m @@ -139,6 +139,7 @@ - (void)didFinishPickingPhoto:(NSNotification *)notification if (self.finalizationBlock) { self.finalizationBlock(self, notification.userInfo); } + else if (self.delegate && [self.delegate respondsToSelector:@selector(photoPickerController:didFinishPickingPhotoWithInfo:)]){ [self.delegate photoPickerController:self didFinishPickingPhotoWithInfo:notification.userInfo]; } diff --git a/Source/Classes/Core/DZNPhotoPickerControllerConstants.h b/Source/Classes/Core/DZNPhotoPickerControllerConstants.h index 5ab4a505..6b0d7d1a 100644 --- a/Source/Classes/Core/DZNPhotoPickerControllerConstants.h +++ b/Source/Classes/Core/DZNPhotoPickerControllerConstants.h @@ -11,6 +11,7 @@ extern NSString *const DZNPhotoPickerControllerCropMode; // An NSString (i.e. square, circular) extern NSString *const DZNPhotoPickerControllerCropZoomScale; // An NSString (from 1.0 to maximum zoom scale, 2.0f) extern NSString *const DZNPhotoPickerControllerPhotoMetadata; // An NSDictionary containing metadata from a captured photo +extern NSString *const DZNPhotoPickerControllerSearchTerm; // An NSString containing the search term that allowed the user to find this photo. extern NSString *const DZNPhotoPickerDidFinishPickingNotification; // The notification key used when picking a photo finished. extern NSString *const DZNPhotoPickerDidFailPickingNotification; // The notification key used when picking a photo failed. diff --git a/Source/Classes/Core/DZNPhotoPickerControllerConstants.m b/Source/Classes/Core/DZNPhotoPickerControllerConstants.m index 944b08af..df4efd97 100644 --- a/Source/Classes/Core/DZNPhotoPickerControllerConstants.m +++ b/Source/Classes/Core/DZNPhotoPickerControllerConstants.m @@ -13,6 +13,7 @@ NSString *const DZNPhotoPickerControllerCropMode = @"com.dzn.photoPicker.cropMode"; NSString *const DZNPhotoPickerControllerCropZoomScale = @"com.dzn.photoPicker.cropZoomScale"; NSString *const DZNPhotoPickerControllerPhotoMetadata = @"com.dzn.photoPicker.photoMetadata"; +NSString *const DZNPhotoPickerControllerSearchTerm = @"com.dzn.photoPicker.searchTerm"; NSString *const DZNPhotoPickerDidFinishPickingNotification = @"com.dzn.photoPicker.didFinishPickingNotification"; NSString *const DZNPhotoPickerDidFailPickingNotification = @"com.dzn.photoPicker.didFinishPickingWithErrorNotification";