mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Various fixes
This commit is contained in:
parent
eb66f51388
commit
94599bb59e
@ -77,6 +77,8 @@ public final class DrawingEntitiesView: UIView, TGPhotoDrawingEntitiesView {
|
|||||||
var entityAdded: (DrawingEntity) -> Void = { _ in }
|
var entityAdded: (DrawingEntity) -> Void = { _ in }
|
||||||
var entityRemoved: (DrawingEntity) -> Void = { _ in }
|
var entityRemoved: (DrawingEntity) -> Void = { _ in }
|
||||||
|
|
||||||
|
var autoSelectEntities = false
|
||||||
|
|
||||||
private let topEdgeView = UIView()
|
private let topEdgeView = UIView()
|
||||||
private let leftEdgeView = UIView()
|
private let leftEdgeView = UIView()
|
||||||
private let rightEdgeView = UIView()
|
private let rightEdgeView = UIView()
|
||||||
@ -813,7 +815,7 @@ public final class DrawingEntitiesView: UIView, TGPhotoDrawingEntitiesView {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if gestureRecognizer.numberOfTouches == 1, let viewToSelect = self.entity(at: location) {
|
else if self.autoSelectEntities, gestureRecognizer.numberOfTouches == 1, let viewToSelect = self.entity(at: location) {
|
||||||
self.selectEntity(viewToSelect.entity, animate: false)
|
self.selectEntity(viewToSelect.entity, animate: false)
|
||||||
self.onInteractionUpdated(true)
|
self.onInteractionUpdated(true)
|
||||||
}
|
}
|
||||||
|
@ -2423,6 +2423,7 @@ public class DrawingScreen: ViewController, TGPhotoDrawingInterfaceController, U
|
|||||||
contentWrapperView: self.contentWrapperView,
|
contentWrapperView: self.contentWrapperView,
|
||||||
selectionContainerView: self.selectionContainerView,
|
selectionContainerView: self.selectionContainerView,
|
||||||
isVideo: controller.isVideo,
|
isVideo: controller.isVideo,
|
||||||
|
autoselectEntityOnPan: false,
|
||||||
updateSelectedEntity: { [weak self] entity in
|
updateSelectedEntity: { [weak self] entity in
|
||||||
if let self {
|
if let self {
|
||||||
self.updateSelectedEntity.invoke(entity)
|
self.updateSelectedEntity.invoke(entity)
|
||||||
@ -2956,6 +2957,7 @@ public final class DrawingToolsInteraction {
|
|||||||
private weak var contentWrapperView: UIView?
|
private weak var contentWrapperView: UIView?
|
||||||
private let selectionContainerView: DrawingSelectionContainerView
|
private let selectionContainerView: DrawingSelectionContainerView
|
||||||
private let isVideo: Bool
|
private let isVideo: Bool
|
||||||
|
private let autoSelectEntityOnPan: Bool
|
||||||
private let updateSelectedEntity: (DrawingEntity?) -> Void
|
private let updateSelectedEntity: (DrawingEntity?) -> Void
|
||||||
private let updateVideoPlayback: (Bool) -> Void
|
private let updateVideoPlayback: (Bool) -> Void
|
||||||
private let updateColor: (DrawingColor) -> Void
|
private let updateColor: (DrawingColor) -> Void
|
||||||
@ -2987,6 +2989,7 @@ public final class DrawingToolsInteraction {
|
|||||||
contentWrapperView: UIView,
|
contentWrapperView: UIView,
|
||||||
selectionContainerView: DrawingSelectionContainerView,
|
selectionContainerView: DrawingSelectionContainerView,
|
||||||
isVideo: Bool,
|
isVideo: Bool,
|
||||||
|
autoselectEntityOnPan: Bool,
|
||||||
updateSelectedEntity: @escaping (DrawingEntity?) -> Void,
|
updateSelectedEntity: @escaping (DrawingEntity?) -> Void,
|
||||||
updateVideoPlayback: @escaping (Bool) -> Void,
|
updateVideoPlayback: @escaping (Bool) -> Void,
|
||||||
updateColor: @escaping (DrawingColor) -> Void,
|
updateColor: @escaping (DrawingColor) -> Void,
|
||||||
@ -3004,6 +3007,7 @@ public final class DrawingToolsInteraction {
|
|||||||
self.contentWrapperView = contentWrapperView
|
self.contentWrapperView = contentWrapperView
|
||||||
self.selectionContainerView = selectionContainerView
|
self.selectionContainerView = selectionContainerView
|
||||||
self.isVideo = isVideo
|
self.isVideo = isVideo
|
||||||
|
self.autoSelectEntityOnPan = autoselectEntityOnPan
|
||||||
self.updateSelectedEntity = updateSelectedEntity
|
self.updateSelectedEntity = updateSelectedEntity
|
||||||
self.updateVideoPlayback = updateVideoPlayback
|
self.updateVideoPlayback = updateVideoPlayback
|
||||||
self.updateColor = updateColor
|
self.updateColor = updateColor
|
||||||
@ -3028,6 +3032,7 @@ public final class DrawingToolsInteraction {
|
|||||||
public func activate() {
|
public func activate() {
|
||||||
self.isActive = true
|
self.isActive = true
|
||||||
|
|
||||||
|
self.entitiesView.autoSelectEntities = self.autoSelectEntityOnPan
|
||||||
self.entitiesView.selectionContainerView = self.selectionContainerView
|
self.entitiesView.selectionContainerView = self.selectionContainerView
|
||||||
self.entitiesView.selectionChanged = { [weak self] entity in
|
self.entitiesView.selectionChanged = { [weak self] entity in
|
||||||
if let self {
|
if let self {
|
||||||
|
@ -1992,6 +1992,7 @@ public final class MediaEditorScreen: ViewController, UIDropInteractionDelegate
|
|||||||
contentWrapperView: self.previewContainerView,
|
contentWrapperView: self.previewContainerView,
|
||||||
selectionContainerView: self.selectionContainerView,
|
selectionContainerView: self.selectionContainerView,
|
||||||
isVideo: false,
|
isVideo: false,
|
||||||
|
autoselectEntityOnPan: true,
|
||||||
updateSelectedEntity: { [weak self] _ in
|
updateSelectedEntity: { [weak self] _ in
|
||||||
if let self {
|
if let self {
|
||||||
self.requestUpdate(transition: .easeInOut(duration: 0.2))
|
self.requestUpdate(transition: .easeInOut(duration: 0.2))
|
||||||
|
@ -235,6 +235,7 @@ public final class PeerListItemComponent: Component {
|
|||||||
|
|
||||||
self.avatarNode = AvatarNode(font: avatarFont)
|
self.avatarNode = AvatarNode(font: avatarFont)
|
||||||
self.avatarNode.isLayerBacked = false
|
self.avatarNode.isLayerBacked = false
|
||||||
|
self.avatarNode.isUserInteractionEnabled = false
|
||||||
|
|
||||||
self.avatarButtonView = HighlightTrackingButton()
|
self.avatarButtonView = HighlightTrackingButton()
|
||||||
|
|
||||||
@ -359,8 +360,6 @@ public final class PeerListItemComponent: Component {
|
|||||||
|
|
||||||
let themeUpdated = self.component?.theme !== component.theme
|
let themeUpdated = self.component?.theme !== component.theme
|
||||||
|
|
||||||
self.avatarButtonView.isUserInteractionEnabled = component.openStories != nil
|
|
||||||
|
|
||||||
var hasSelectionUpdated = false
|
var hasSelectionUpdated = false
|
||||||
if let previousComponent = self.component {
|
if let previousComponent = self.component {
|
||||||
switch previousComponent.selectionState {
|
switch previousComponent.selectionState {
|
||||||
@ -397,7 +396,7 @@ public final class PeerListItemComponent: Component {
|
|||||||
self.component = component
|
self.component = component
|
||||||
self.state = state
|
self.state = state
|
||||||
|
|
||||||
self.avatarButtonView.isUserInteractionEnabled = component.storyStats != nil
|
self.avatarButtonView.isUserInteractionEnabled = component.storyStats != nil && component.openStories != nil
|
||||||
|
|
||||||
let labelData: (String, Bool)
|
let labelData: (String, Bool)
|
||||||
if let presence = component.presence {
|
if let presence = component.presence {
|
||||||
|
@ -855,8 +855,10 @@ public final class StoryPeerListItemComponent: Component {
|
|||||||
self?.indicatorShapeSeenLayer.animateShapeLineWidth(from: targetLineWidth, to: initialLineWidth, duration: 0.15)
|
self?.indicatorShapeSeenLayer.animateShapeLineWidth(from: targetLineWidth, to: initialLineWidth, duration: 0.15)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if self.window != nil {
|
||||||
HapticFeedback().success()
|
HapticFeedback().success()
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let titleSize = self.title.update(
|
let titleSize = self.title.update(
|
||||||
transition: .immediate,
|
transition: .immediate,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user