Various Improvements

This commit is contained in:
Ilya Laktyushin
2021-12-20 18:39:36 +04:00
parent 6cdf72427c
commit 2d3aee57f4
13 changed files with 133 additions and 54 deletions

View File

@@ -196,6 +196,7 @@ public final class TextSelectionNode: ASDisplayNode {
private let strings: PresentationStrings
private let textNode: TextNode
private let updateIsActive: (Bool) -> Void
public var updateRange: ((NSRange?) -> Void)?
private let present: (ViewController, Any?) -> Void
private weak var rootNode: ASDisplayNode?
private let performAction: (NSAttributedString, TextSelectionAction) -> Void
@@ -396,6 +397,8 @@ public final class TextSelectionNode: ASDisplayNode {
}
private func updateSelection(range: NSRange?, animateIn: Bool) {
self.updateRange?(range)
var rects: (rects: [CGRect], start: TextRangeRectEdge, end: TextRangeRectEdge)?
if let range = range {
@@ -502,18 +505,18 @@ public final class TextSelectionNode: ASDisplayNode {
self?.performAction(attributedText, .lookup)
self?.dismissSelection()
}))
// if #available(iOS 15.0, *) {
// actions.append(ContextMenuAction(content: .text(title: self.strings.Conversation_ContextMenuTranslate, accessibilityLabel: self.strings.Conversation_ContextMenuTranslate), action: { [weak self] in
// self?.performAction(attributedText, .translate)
// self?.dismissSelection()
// }))
// }
if isSpeakSelectionEnabled() {
actions.append(ContextMenuAction(content: .text(title: self.strings.Conversation_ContextMenuSpeak, accessibilityLabel: self.strings.Conversation_ContextMenuSpeak), action: { [weak self] in
self?.performAction(attributedText, .speak)
if #available(iOS 15.0, *) {
actions.append(ContextMenuAction(content: .text(title: self.strings.Conversation_ContextMenuTranslate, accessibilityLabel: self.strings.Conversation_ContextMenuTranslate), action: { [weak self] in
self?.performAction(attributedText, .translate)
self?.dismissSelection()
}))
}
// if isSpeakSelectionEnabled() {
// actions.append(ContextMenuAction(content: .text(title: self.strings.Conversation_ContextMenuSpeak, accessibilityLabel: self.strings.Conversation_ContextMenuSpeak), action: { [weak self] in
// self?.performAction(attributedText, .speak)
// self?.dismissSelection()
// }))
// }
actions.append(ContextMenuAction(content: .text(title: self.strings.Conversation_ContextMenuShare, accessibilityLabel: self.strings.Conversation_ContextMenuShare), action: { [weak self] in
self?.performAction(attributedText, .share)
self?.dismissSelection()