mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-24 07:05:35 +00:00
Add a special case for tap-and-context menu
This commit is contained in:
@@ -159,8 +159,8 @@ public class ChatMessageStickerItemNode: ChatMessageItemView {
|
||||
switch action {
|
||||
case .action, .optionalAction:
|
||||
break
|
||||
case let .openContextMenu(tapMessage, selectAll, subFrame):
|
||||
item.controllerInteraction.openMessageContextMenu(tapMessage, selectAll, strongSelf, subFrame, gesture, nil)
|
||||
case let .openContextMenu(openContextMenu):
|
||||
item.controllerInteraction.openMessageContextMenu(openContextMenu.tapMessage, openContextMenu.selectAll, strongSelf, openContextMenu.subFrame, gesture, nil)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -234,7 +234,7 @@ public class ChatMessageStickerItemNode: ChatMessageItemView {
|
||||
if let action = strongSelf.gestureRecognized(gesture: .longTap, location: point, recognizer: recognizer) {
|
||||
switch action {
|
||||
case let .action(f):
|
||||
f()
|
||||
f.action()
|
||||
recognizer.cancel()
|
||||
case let .optionalAction(f):
|
||||
f()
|
||||
@@ -1283,14 +1283,14 @@ public class ChatMessageStickerItemNode: ChatMessageItemView {
|
||||
}
|
||||
switch action {
|
||||
case let .action(f):
|
||||
f()
|
||||
f.action()
|
||||
case let .optionalAction(f):
|
||||
f()
|
||||
case let .openContextMenu(tapMessage, selectAll, subFrame):
|
||||
case let .openContextMenu(openContextMenu):
|
||||
if canAddMessageReactions(message: item.message) {
|
||||
item.controllerInteraction.updateMessageReaction(tapMessage, .default)
|
||||
item.controllerInteraction.updateMessageReaction(openContextMenu.tapMessage, .default)
|
||||
} else {
|
||||
item.controllerInteraction.openMessageContextMenu(tapMessage, selectAll, self, subFrame, nil, nil)
|
||||
item.controllerInteraction.openMessageContextMenu(openContextMenu.tapMessage, openContextMenu.selectAll, self, openContextMenu.subFrame, nil, nil)
|
||||
}
|
||||
}
|
||||
} else if case .tap = gesture {
|
||||
@@ -1372,7 +1372,7 @@ public class ChatMessageStickerItemNode: ChatMessageItemView {
|
||||
}
|
||||
|
||||
if forwardInfoNode.hasAction(at: self.view.convert(location, to: forwardInfoNode.view)) {
|
||||
return .action({})
|
||||
return .action(InternalBubbleTapAction.Action {})
|
||||
} else {
|
||||
return .optionalAction(performAction)
|
||||
}
|
||||
@@ -1388,7 +1388,7 @@ public class ChatMessageStickerItemNode: ChatMessageItemView {
|
||||
return nil
|
||||
case .longTap, .doubleTap, .secondaryTap:
|
||||
if let item = self.item, self.imageNode.frame.contains(location) {
|
||||
return .openContextMenu(tapMessage: item.message, selectAll: false, subFrame: self.imageNode.frame)
|
||||
return .openContextMenu(InternalBubbleTapAction.OpenContextMenu(tapMessage: item.message, selectAll: false, subFrame: self.imageNode.frame))
|
||||
}
|
||||
case .hold:
|
||||
break
|
||||
|
||||
Reference in New Issue
Block a user