Merge branch 'charlesmchen/editMenuConflicts'

pull/1/head
Matthew Chen 8 years ago
commit 8e332395db

@ -60,6 +60,7 @@
@property (nonatomic) id<OWSMessageData> messageItem; @property (nonatomic) id<OWSMessageData> messageItem;
@property (nonatomic) UIToolbar *footerBar; @property (nonatomic) UIToolbar *footerBar;
@property (nonatomic) NSArray *oldMenuItems;
@end @end
@ -257,6 +258,9 @@
[[UIMenuItem alloc] initWithTitle:NSLocalizedString(@"EDIT_ITEM_SHARE_ACTION", @"Short name for edit menu item to share contents of media message.") [[UIMenuItem alloc] initWithTitle:NSLocalizedString(@"EDIT_ITEM_SHARE_ACTION", @"Short name for edit menu item to share contents of media message.")
action:@selector(shareAttachment:)], action:@selector(shareAttachment:)],
]; ];
if (!self.oldMenuItems) {
self.oldMenuItems = [UIMenuController sharedMenuController].menuItems;
}
[UIMenuController sharedMenuController].menuItems = menuItems; [UIMenuController sharedMenuController].menuItems = menuItems;
CGPoint location = [sender locationInView:self.view]; CGPoint location = [sender locationInView:self.view];
CGRect targetRect = CGRectMake(location.x, CGRect targetRect = CGRectMake(location.x,
@ -342,6 +346,12 @@
} }
- (void)dismiss { - (void)dismiss {
// Restore the edit menu items if necessary.
if (self.oldMenuItems) {
[UIMenuController sharedMenuController].menuItems = self.oldMenuItems;
}
self.view.userInteractionEnabled = NO; self.view.userInteractionEnabled = NO;
[UIView animateWithDuration:0.25f [UIView animateWithDuration:0.25f
delay:0 delay:0

@ -556,13 +556,20 @@ typedef enum : NSUInteger {
// need to set them every time we enter this view. // need to set them every time we enter this view.
SEL saveSelector = NSSelectorFromString(@"save:"); SEL saveSelector = NSSelectorFromString(@"save:");
SEL shareSelector = NSSelectorFromString(@"share:"); SEL shareSelector = NSSelectorFromString(@"share:");
[UIMenuController sharedMenuController].menuItems = @[ [[UIMenuItem alloc] initWithTitle:NSLocalizedString(@"EDIT_ITEM_SAVE_ACTION", [UIMenuController sharedMenuController].menuItems = @[
@"Short name for edit menu item to save contents of media message.") [[UIMenuItem alloc] initWithTitle:NSLocalizedString(@"EDIT_ITEM_SAVE_ACTION",
action:saveSelector], @"Short name for edit menu item to save contents of media message.")
[[UIMenuItem alloc] initWithTitle:NSLocalizedString(@"EDIT_ITEM_SHARE_ACTION", action:saveSelector],
@"Short name for edit menu item to share contents of media message.") [[UIMenuItem alloc] initWithTitle:NSLocalizedString(@"EDIT_ITEM_SHARE_ACTION",
action:shareSelector], @"Short name for edit menu item to share contents of media message.")
]; action:shareSelector],
[[UIMenuItem alloc] initWithTitle:NSLocalizedString(@"EDIT_ITEM_COPY_ACTION",
@"Short name for edit menu item to copy contents of media message.")
action:@selector(copy:)],
[[UIMenuItem alloc] initWithTitle:NSLocalizedString(@"EDIT_ITEM_DELETE_ACTION",
@"Short name for edit menu item to delete contents of media message.")
action:@selector(delete:)],
];
[self ensureBlockStateIndicator]; [self ensureBlockStateIndicator];
@ -1720,7 +1727,7 @@ typedef enum : NSUInteger {
messageItem:messageItem messageItem:messageItem
isAnimated:NO]; isAnimated:NO];
[vc presentFromViewController:self.navigationController]; [vc presentFromViewController:self];
} }
} }
} else if ([[messageItem media] isKindOfClass:[TSAnimatedAdapter class]]) { } else if ([[messageItem media] isKindOfClass:[TSAnimatedAdapter class]]) {
@ -1749,7 +1756,7 @@ typedef enum : NSUInteger {
forInteraction:interaction forInteraction:interaction
messageItem:messageItem messageItem:messageItem
isAnimated:YES]; isAnimated:YES];
[vc presentFromViewController:self.navigationController]; [vc presentFromViewController:self];
} }
} }
} else if ([[messageItem media] isKindOfClass:[TSVideoAttachmentAdapter class]]) { } else if ([[messageItem media] isKindOfClass:[TSVideoAttachmentAdapter class]]) {

@ -319,6 +319,9 @@
/* Short name for edit menu item to copy contents of media message. */ /* Short name for edit menu item to copy contents of media message. */
"EDIT_ITEM_COPY_ACTION" = "Copy"; "EDIT_ITEM_COPY_ACTION" = "Copy";
/* Short name for edit menu item to delete contents of media message. */
"EDIT_ITEM_DELETE_ACTION" = "Delete";
/* Short name for edit menu item to save contents of media message. */ /* Short name for edit menu item to save contents of media message. */
"EDIT_ITEM_SAVE_ACTION" = "Save"; "EDIT_ITEM_SAVE_ACTION" = "Save";

Loading…
Cancel
Save