From d0e6e22f676166e3c110b0be5058a04995e478bf Mon Sep 17 00:00:00 2001
From: kondeichmann <k.deichmann@mac.com>
Date: Fri, 2 Feb 2018 23:15:16 +0100
Subject: [PATCH] layout Text

---
 .../Assets.xcassets/Invitation/Contents.json  |   6 +++++
 .../ic_secure_card.imageset/Contents.json     |   0
 .../ic_secure_card.png                        | Bin
 .../ic_secure_card@2x.png                     | Bin
 .../ic_secure_card@3x.png                     | Bin
 .../SendViewController+Invitation.swift       |  23 ++++++++++++++++++
 6 files changed, 29 insertions(+)
 create mode 100644 enzevalos_iphone/Assets.xcassets/Invitation/Contents.json
 rename enzevalos_iphone/Assets.xcassets/{ => Invitation}/ic_secure_card.imageset/Contents.json (100%)
 rename enzevalos_iphone/Assets.xcassets/{ => Invitation}/ic_secure_card.imageset/ic_secure_card.png (100%)
 rename enzevalos_iphone/Assets.xcassets/{ => Invitation}/ic_secure_card.imageset/ic_secure_card@2x.png (100%)
 rename enzevalos_iphone/Assets.xcassets/{ => Invitation}/ic_secure_card.imageset/ic_secure_card@3x.png (100%)

diff --git a/enzevalos_iphone/Assets.xcassets/Invitation/Contents.json b/enzevalos_iphone/Assets.xcassets/Invitation/Contents.json
new file mode 100644
index 00000000..da4a164c
--- /dev/null
+++ b/enzevalos_iphone/Assets.xcassets/Invitation/Contents.json
@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}
\ No newline at end of file
diff --git a/enzevalos_iphone/Assets.xcassets/ic_secure_card.imageset/Contents.json b/enzevalos_iphone/Assets.xcassets/Invitation/ic_secure_card.imageset/Contents.json
similarity index 100%
rename from enzevalos_iphone/Assets.xcassets/ic_secure_card.imageset/Contents.json
rename to enzevalos_iphone/Assets.xcassets/Invitation/ic_secure_card.imageset/Contents.json
diff --git a/enzevalos_iphone/Assets.xcassets/ic_secure_card.imageset/ic_secure_card.png b/enzevalos_iphone/Assets.xcassets/Invitation/ic_secure_card.imageset/ic_secure_card.png
similarity index 100%
rename from enzevalos_iphone/Assets.xcassets/ic_secure_card.imageset/ic_secure_card.png
rename to enzevalos_iphone/Assets.xcassets/Invitation/ic_secure_card.imageset/ic_secure_card.png
diff --git a/enzevalos_iphone/Assets.xcassets/ic_secure_card.imageset/ic_secure_card@2x.png b/enzevalos_iphone/Assets.xcassets/Invitation/ic_secure_card.imageset/ic_secure_card@2x.png
similarity index 100%
rename from enzevalos_iphone/Assets.xcassets/ic_secure_card.imageset/ic_secure_card@2x.png
rename to enzevalos_iphone/Assets.xcassets/Invitation/ic_secure_card.imageset/ic_secure_card@2x.png
diff --git a/enzevalos_iphone/Assets.xcassets/ic_secure_card.imageset/ic_secure_card@3x.png b/enzevalos_iphone/Assets.xcassets/Invitation/ic_secure_card.imageset/ic_secure_card@3x.png
similarity index 100%
rename from enzevalos_iphone/Assets.xcassets/ic_secure_card.imageset/ic_secure_card@3x.png
rename to enzevalos_iphone/Assets.xcassets/Invitation/ic_secure_card.imageset/ic_secure_card@3x.png
diff --git a/enzevalos_iphone/SendViewController+Invitation.swift b/enzevalos_iphone/SendViewController+Invitation.swift
index 257a9690..e19efdbd 100644
--- a/enzevalos_iphone/SendViewController+Invitation.swift
+++ b/enzevalos_iphone/SendViewController+Invitation.swift
@@ -22,6 +22,8 @@ extension SendViewController {
 	@IBAction
 	fileprivate func encryptSelectedText() {
 
+		self.invitationSelection.selectedWords.insert(self.textView.selectedRange)
+		self.layoutText()
 	}
 
 	@IBAction
@@ -47,6 +49,7 @@ extension SendViewController {
 
 	fileprivate func removeAllInvitationMarks() {
 		self.invitationSelection.selectedWords = Set<NSRange>()
+		self.layoutText()
 	}
 
 	fileprivate func menuControllerItems(for textView: UITextView) -> [UIMenuItem]? {
@@ -55,6 +58,26 @@ extension SendViewController {
 			UIMenuItem(title: "entschlüsseln", action: #selector(self.decryptSelectedText))
 		]
 	}
+
+	fileprivate func layoutText() {
+
+		guard self.invitationSelection.selectedWords.isEmpty == false else {
+			self.textView.text = self.textView.attributedText.string
+			return
+		}
+
+		let selectedRange = self.textView.selectedRange
+		let text: String = self.textView.text
+		let orangeColor = #colorLiteral(red: 1, green: 0.570499897, blue: 0, alpha: 1)
+		let attributedString = NSMutableAttributedString(string: text, attributes: [NSFontAttributeName: self.textView.font!])
+
+		for range in self.invitationSelection.selectedWords {
+			attributedString.addAttributes([NSBackgroundColorAttributeName : orangeColor], range: range)
+		}
+
+		self.textView.attributedText = attributedString
+		self.textView.selectedRange = NSRange(location: selectedRange.location, length: 0)
+	}
 }
 
 // MARK: - MarkHandler
-- 
GitLab