From 97660e0a11e21cf7cbebb2ad40972ef469ac0534 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Thu, 28 Feb 2019 13:15:56 -0500 Subject: [PATCH] Clean up image editor. --- .../Views/ImageEditor/ImageEditorView.swift | 88 +------------------ 1 file changed, 2 insertions(+), 86 deletions(-) diff --git a/SignalMessaging/Views/ImageEditor/ImageEditorView.swift b/SignalMessaging/Views/ImageEditor/ImageEditorView.swift index aac60ebfc..b65483340 100644 --- a/SignalMessaging/Views/ImageEditor/ImageEditorView.swift +++ b/SignalMessaging/Views/ImageEditor/ImageEditorView.swift @@ -69,7 +69,6 @@ public class ImageEditorView: UIView { // MARK: - Views private var moveTextGestureRecognizer: ImageEditorPanGestureRecognizer? - private var brushGestureRecognizer: ImageEditorPanGestureRecognizer? private var tapGestureRecognizer: UITapGestureRecognizer? private var pinchGestureRecognizer: ImageEditorPinchGestureRecognizer? @@ -90,12 +89,6 @@ public class ImageEditorView: UIView { self.addGestureRecognizer(moveTextGestureRecognizer) self.moveTextGestureRecognizer = moveTextGestureRecognizer - let brushGestureRecognizer = ImageEditorPanGestureRecognizer(target: self, action: #selector(handleBrushGesture(_:))) - brushGestureRecognizer.maximumNumberOfTouches = 1 - brushGestureRecognizer.referenceView = canvasView.gestureReferenceView - self.addGestureRecognizer(brushGestureRecognizer) - self.brushGestureRecognizer = brushGestureRecognizer - let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(handleTapGesture(_:))) self.addGestureRecognizer(tapGestureRecognizer) self.tapGestureRecognizer = tapGestureRecognizer @@ -132,50 +125,10 @@ public class ImageEditorView: UIView { } } - // The model supports redo if we ever want to add it. - private let undoButton = OWSButton() - private let brushButton = OWSButton() - private let cropButton = OWSButton() - private let newTextButton = OWSButton() - private let captionButton = OWSButton() - private let doneButton = OWSButton() - private let buttonStackView = UIStackView() - // TODO: Should this method be private? @objc public func addControls(to containerView: UIView, viewController: UIViewController) { - configure(button: undoButton, - imageName: "image_editor_undo", - selector: #selector(didTapUndo(sender:))) - - configure(button: brushButton, - imageName: "image_editor_brush", - selector: #selector(didTapBrush(sender:))) - - configure(button: cropButton, - imageName: "image_editor_crop", - selector: #selector(didTapCrop(sender:))) - - configure(button: newTextButton, - imageName: "image_editor_text", - selector: #selector(didTapNewText(sender:))) - - configure(button: captionButton, - imageName: "image_editor_caption", - selector: #selector(didTapCaption(sender:))) - - configure(button: doneButton, - imageName: "image_editor_checkmark_full", - selector: #selector(didTapDone(sender:))) - - buttonStackView.axis = .horizontal - buttonStackView.alignment = .center - buttonStackView.spacing = 20 - - containerView.addSubview(buttonStackView) - buttonStackView.autoPin(toTopLayoutGuideOf: viewController, withInset: 0) - buttonStackView.autoPinTrailingToSuperviewMargin(withInset: 18) containerView.addSubview(paletteView) paletteView.autoVCenterInSuperview() @@ -186,24 +139,7 @@ public class ImageEditorView: UIView { delegate?.imageEditorUpdateNavigationBar() } - private func configure(button: UIButton, - imageName: String, - selector: Selector) { - if let image = UIImage(named: imageName) { - button.setImage(image.withRenderingMode(.alwaysTemplate), for: .normal) - } else { - owsFailDebug("Missing asset: \(imageName)") - } - button.tintColor = .white - button.addTarget(self, action: selector, for: .touchUpInside) - button.layer.shadowColor = UIColor.black.cgColor - button.layer.shadowRadius = 4 - button.layer.shadowOpacity = 0.66 - } - private func updateButtons() { - var buttons = [OWSButton]() - var hasPalette = false switch editorMode { case .text: @@ -212,26 +148,9 @@ public class ImageEditorView: UIView { break case .brush: hasPalette = true - - if model.canUndo() { - buttons = [undoButton, doneButton] - } else { - buttons = [doneButton] - } case .none: - if model.canUndo() { - buttons = [undoButton, newTextButton, brushButton, cropButton, captionButton] - } else { - buttons = [newTextButton, brushButton, cropButton, captionButton] - } - } - - for subview in buttonStackView.subviews { - subview.removeFromSuperview() - } - buttonStackView.addArrangedSubview(UIView.hStretchingSpacer()) - for button in buttons { - buttonStackView.addArrangedSubview(button) + hasPalette = false + break } paletteView.isHidden = !hasPalette @@ -340,18 +259,15 @@ public class ImageEditorView: UIView { switch editorMode { case .none: moveTextGestureRecognizer?.isEnabled = true - brushGestureRecognizer?.isEnabled = false tapGestureRecognizer?.isEnabled = true pinchGestureRecognizer?.isEnabled = true case .brush: // Brush strokes can start and end (and return from) outside the view. moveTextGestureRecognizer?.isEnabled = false - brushGestureRecognizer?.isEnabled = true tapGestureRecognizer?.isEnabled = false pinchGestureRecognizer?.isEnabled = false case .text: moveTextGestureRecognizer?.isEnabled = false - brushGestureRecognizer?.isEnabled = false tapGestureRecognizer?.isEnabled = false pinchGestureRecognizer?.isEnabled = false }