From 51f782e8c677c9c6a7db9a11b73680d2ea03e36d Mon Sep 17 00:00:00 2001
From: Oliver Wiese <oliver.wiese@fu-berlin.de>
Date: Fri, 18 Oct 2019 12:06:50 +0200
Subject: [PATCH] add feedback button to views

---
 enzevalos_iphone/Base.lproj/Main.storyboard      |  8 ++++----
 enzevalos_iphone/ContactViewController.swift     | 16 +++++++++++++++-
 .../CryptoManagementViewController.swift         |  7 +++++++
 enzevalos_iphone/ExportInfoViewController.swift  | 14 ++++++++++++++
 enzevalos_iphone/ExportViewController.swift      | 14 ++++++++++++++
 enzevalos_iphone/FeedbackButtonHelper.swift      |  7 ++++++-
 enzevalos_iphone/FolderViewController.swift      |  7 +++++++
 .../ImportKeyOverviewController.swift            | 14 +++++++++++++-
 enzevalos_iphone/InboxViewController.swift       |  6 ++++++
 enzevalos_iphone/KeyTableViewController.swift    | 10 ++++++++++
 enzevalos_iphone/KeyViewController.swift         |  7 +++++++
 .../MoreInformationViewController.swift          |  7 +++++++
 enzevalos_iphone/PasteKeyViewController.swift    | 15 +++++++++++++++
 enzevalos_iphone/ReadViewController.swift        |  5 +++++
 .../SecretKeyTableViewController.swift           | 14 ++++++++++++++
 enzevalos_iphone/SendViewController.swift        |  3 +++
 enzevalos_iphone/en.lproj/Localizable.strings    |  2 +-
 17 files changed, 148 insertions(+), 8 deletions(-)

diff --git a/enzevalos_iphone/Base.lproj/Main.storyboard b/enzevalos_iphone/Base.lproj/Main.storyboard
index 39c78cdb..8fbbe16d 100644
--- a/enzevalos_iphone/Base.lproj/Main.storyboard
+++ b/enzevalos_iphone/Base.lproj/Main.storyboard
@@ -2116,7 +2116,7 @@ Um deine sicheren E-Mails auch auf einem anderen Gerät lesen zu können, muss d
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Copy the key from a website, mail or message and paste it here." textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="PtY-5W-KXC">
-                                <rect key="frame" x="0.0" y="52" width="414" height="40.666666666666657"/>
+                                <rect key="frame" x="10" y="52" width="394" height="40.666666666666657"/>
                                 <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                 <accessibility key="accessibilityConfiguration">
                                     <accessibilityTraits key="traits" notEnabled="YES" updatesFrequently="YES"/>
@@ -2126,7 +2126,7 @@ Um deine sicheren E-Mails auch auf einem anderen Gerät lesen zu können, muss d
                                 <nil key="highlightedColor"/>
                             </label>
                             <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" layoutMarginsFollowReadableWidth="YES" keyboardDismissMode="interactive" translatesAutoresizingMaskIntoConstraints="NO" id="OLH-mw-Ir8">
-                                <rect key="frame" x="0.0" y="100.66666666666669" width="414" height="692.33333333333326"/>
+                                <rect key="frame" x="10" y="100.66666666666669" width="394" height="692.33333333333326"/>
                                 <color key="backgroundColor" cocoaTouchSystemColor="tableCellGroupedBackgroundColor"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="14"/>
                                 <textInputTraits key="textInputTraits" autocorrectionType="no" spellCheckingType="no" keyboardType="alphabet" returnKeyType="done" smartDashesType="no" smartInsertDeleteType="no" smartQuotesType="no"/>
@@ -2137,8 +2137,8 @@ Um deine sicheren E-Mails auch auf einem anderen Gerät lesen zu können, muss d
                             <constraint firstItem="PtY-5W-KXC" firstAttribute="leading" secondItem="OLH-mw-Ir8" secondAttribute="leading" id="25m-FG-JOe"/>
                             <constraint firstItem="PtY-5W-KXC" firstAttribute="trailing" secondItem="OLH-mw-Ir8" secondAttribute="trailing" id="CNg-2A-yqE"/>
                             <constraint firstItem="PtY-5W-KXC" firstAttribute="top" secondItem="nKx-xx-iO1" secondAttribute="top" constant="8" id="F3b-xN-38F"/>
-                            <constraint firstItem="PtY-5W-KXC" firstAttribute="trailing" secondItem="CHD-6c-e74" secondAttribute="trailingMargin" constant="20" id="FI8-5t-p8e"/>
-                            <constraint firstItem="PtY-5W-KXC" firstAttribute="leading" secondItem="CHD-6c-e74" secondAttribute="leadingMargin" constant="-20" id="aif-Bp-GHa"/>
+                            <constraint firstItem="PtY-5W-KXC" firstAttribute="trailing" secondItem="CHD-6c-e74" secondAttribute="trailingMargin" constant="10" id="FI8-5t-p8e"/>
+                            <constraint firstItem="PtY-5W-KXC" firstAttribute="leading" secondItem="CHD-6c-e74" secondAttribute="leadingMargin" constant="-10" id="aif-Bp-GHa"/>
                             <constraint firstItem="nKx-xx-iO1" firstAttribute="bottom" secondItem="OLH-mw-Ir8" secondAttribute="bottom" constant="20" identifier="bottom" id="rGt-PZ-y3n"/>
                             <constraint firstItem="OLH-mw-Ir8" firstAttribute="top" secondItem="PtY-5W-KXC" secondAttribute="bottom" constant="8" id="y90-Rq-qze"/>
                         </constraints>
diff --git a/enzevalos_iphone/ContactViewController.swift b/enzevalos_iphone/ContactViewController.swift
index 9baef069..b9776288 100644
--- a/enzevalos_iphone/ContactViewController.swift
+++ b/enzevalos_iphone/ContactViewController.swift
@@ -68,6 +68,17 @@ class ContactViewController: UIViewController {
 
             otherRecords = con.ezContact.records.filter({ $0 != keyRecord }).sorted()
             Logger.log(contactViewOpen: self.keyRecord, otherRecords: self.otherRecords, isUser: self.isUser)
+            
+            let feedbackButton = UIBarButtonItem(title: FeedbackButtonHelper.Name, style: .plain, target: self, action:#selector(feedback))
+            let space = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: self, action: nil)
+            if var items = self.toolbarItems {
+                items.append(space)
+                items.append(feedbackButton)
+            } else {
+                self.toolbarItems = [space, feedbackButton]
+            }
+            
+            navigationController?.toolbar.isHidden = false
         }
     }
 
@@ -75,7 +86,10 @@ class ContactViewController: UIViewController {
         if let row = tableView.indexPathForSelectedRow {
             tableView.deselectRow(at: row, animated: false)
         }
-        navigationController?.toolbar.isHidden = false
+    }
+    
+    @objc func feedback() {
+        FeedbackButtonHelper.composeFeedback(view: .Contact, navigationController: self.navigationController)
     }
 
     @objc func dismissView() {
diff --git a/enzevalos_iphone/CryptoManagementViewController.swift b/enzevalos_iphone/CryptoManagementViewController.swift
index bb48e424..b36e92a5 100644
--- a/enzevalos_iphone/CryptoManagementViewController.swift
+++ b/enzevalos_iphone/CryptoManagementViewController.swift
@@ -64,8 +64,15 @@ class CryptoManagementViewController: UITableViewController {
         //let infoButton = UIButton(type: .infoLight)
         //let barButton = UIBarButtonItem(customView: infoButton)
         //self.navigationItem.rightBarButtonItem = barButton
+        let feedbackButton = UIBarButtonItem(title: FeedbackButtonHelper.Name, style: .plain, target: self, action:#selector(feedback))
+        let space = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: self, action: nil)
+        self.toolbarItems = [space, feedbackButton]
+
     }
 
+    @objc func feedback() {
+        FeedbackButtonHelper.composeFeedback(view: .Management, navigationController: self.navigationController)
+    }
     // MARK: - Table view data source
 
     override func numberOfSections(in tableView: UITableView) -> Int {
diff --git a/enzevalos_iphone/ExportInfoViewController.swift b/enzevalos_iphone/ExportInfoViewController.swift
index e97d6a18..3d9cc4bd 100644
--- a/enzevalos_iphone/ExportInfoViewController.swift
+++ b/enzevalos_iphone/ExportInfoViewController.swift
@@ -51,6 +51,20 @@ class ExportInfoViewController: UITableViewController {
         tableView.estimatedRowHeight = 140
         navigationItem.setRightBarButton(navigationItem.rightBarButtonItem, animated: false)
         navigationItem.rightBarButtonItem?.title = NSLocalizedString("Next", comment: "next step")
+        
+        let feedbackButton = UIBarButtonItem(title: FeedbackButtonHelper.Name, style: .plain, target: self, action:#selector(feedback))
+        let space = FeedbackButtonHelper.SpaceButton
+        if var items = self.toolbarItems {
+            items.append(space)
+            items.append(feedbackButton)
+        } else {
+            self.toolbarItems = [space, feedbackButton]
+        }
+        
+        navigationController?.toolbar.isHidden = false
+    }
+    @objc func feedback() {
+        FeedbackButtonHelper.composeFeedback(view: .Export1, navigationController: self.navigationController)
     }
 
     override func viewWillAppear(_ animated: Bool) {
diff --git a/enzevalos_iphone/ExportViewController.swift b/enzevalos_iphone/ExportViewController.swift
index 02cdfcea..62ef3c0c 100644
--- a/enzevalos_iphone/ExportViewController.swift
+++ b/enzevalos_iphone/ExportViewController.swift
@@ -158,8 +158,22 @@ class ExportViewController: UITableViewController {
 //        Logger.queue.async(flags: .barrier) {
         Logger.log(exportKeyViewOpen: 2)
 //        }
+        
+        let feedbackButton = UIBarButtonItem(title: FeedbackButtonHelper.Name, style: .plain, target: self, action:#selector(feedback))
+        let space = FeedbackButtonHelper.SpaceButton
+        if var items = self.toolbarItems {
+            items.append(space)
+            items.append(feedbackButton)
+        } else {
+            self.toolbarItems = [space, feedbackButton]
+        }
+        
+        navigationController?.toolbar.isHidden = false
     }
 
+    @objc func feedback() {
+        FeedbackButtonHelper.composeFeedback(view: .Export2, navigationController: self.navigationController)
+    }
     func mailSend(_ error: Error?) {
         if (error != nil) {
             NSLog("Error sending email: \(String(describing: error))")
diff --git a/enzevalos_iphone/FeedbackButtonHelper.swift b/enzevalos_iphone/FeedbackButtonHelper.swift
index 1030ce82..25bf01a6 100644
--- a/enzevalos_iphone/FeedbackButtonHelper.swift
+++ b/enzevalos_iphone/FeedbackButtonHelper.swift
@@ -9,13 +9,18 @@
 import Foundation
 
 enum ViewName: String {
-    case Inbox, Read
+    case Inbox, Read, Compose, Key, Contact, Folder, Management, Information, SecretKeyTable, Paste, KeyTable, Import, Export1, Export2
 }
 
 class FeedbackButtonHelper {
     
     static let Name = NSLocalizedString("Feedback.Name", comment: "Feedback")
     
+    static var SpaceButton: UIBarButtonItem {
+        get {
+            return UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: self, action: nil)
+        }
+    }
     static func composeFeedback(view: ViewName, navigationController: UINavigationController?) {
         let receiver = SUPPORT_MAIL_ADR
         let subject = String(format: NSLocalizedString("Feedback.Mail.Subject", comment: "Feedback"), view.rawValue)
diff --git a/enzevalos_iphone/FolderViewController.swift b/enzevalos_iphone/FolderViewController.swift
index 2b9a56cc..bde8ef9e 100644
--- a/enzevalos_iphone/FolderViewController.swift
+++ b/enzevalos_iphone/FolderViewController.swift
@@ -75,6 +75,13 @@ class FolderViewController: UITableViewController {
         lastUpdateLabel.font = UIFont.systemFont(ofSize: 13)
         lastUpdateLabel.textColor = UIColor.black
         lastUpdateButton.customView = lastUpdateLabel
+        
+        let feedbackButton = UIBarButtonItem(title: FeedbackButtonHelper.Name, style: .plain, target: self, action:#selector(feedback))
+        self.toolbarItems?.append(feedbackButton)
+    }
+    
+    @objc func feedback() {
+        FeedbackButtonHelper.composeFeedback(view: .Folder, navigationController: self.navigationController)
     }
     override func viewDidAppear(_ animated: Bool) {
         super.viewDidAppear(animated)
diff --git a/enzevalos_iphone/ImportKeyOverviewController.swift b/enzevalos_iphone/ImportKeyOverviewController.swift
index 66b32a1b..50deca67 100644
--- a/enzevalos_iphone/ImportKeyOverviewController.swift
+++ b/enzevalos_iphone/ImportKeyOverviewController.swift
@@ -22,8 +22,20 @@ class ImportKeyOverviewController: UITableViewController, ButtonCellHandler {
     override func viewDidLoad() {
         super.viewDidLoad()
         self.title = NSLocalizedString("Import.Overview.Title", comment: "Add a key")
+        let feedbackButton = UIBarButtonItem(title: FeedbackButtonHelper.Name, style: .plain, target: self, action:#selector(feedback))
+        let space = FeedbackButtonHelper.SpaceButton
+        if var items = self.toolbarItems {
+            items.append(space)
+            items.append(feedbackButton)
+        } else {
+            self.toolbarItems = [space, feedbackButton]
+        }
+        
+        navigationController?.toolbar.isHidden = false
+    }
+    @objc func feedback() {
+        FeedbackButtonHelper.composeFeedback(view: .Import, navigationController: self.navigationController)
     }
-    
     // MARK: - Table view data source
     
     override func numberOfSections(in tableView: UITableView) -> Int {
diff --git a/enzevalos_iphone/InboxViewController.swift b/enzevalos_iphone/InboxViewController.swift
index 6f28acfa..42b4d199 100644
--- a/enzevalos_iphone/InboxViewController.swift
+++ b/enzevalos_iphone/InboxViewController.swift
@@ -92,6 +92,12 @@ class InboxViewController: UITableViewController, InboxCellDelegator {
             [weak self] _ in
             self?.tableView.reloadData()
         })
+        let feedbackButton = UIBarButtonItem(title: FeedbackButtonHelper.Name, style: .plain, target: self, action:#selector(feedback))
+        self.toolbarItems?.append(feedbackButton)
+    }
+    
+    @objc func feedback() {
+        FeedbackButtonHelper.composeFeedback(view: .Inbox, navigationController: self.navigationController)
     }
 
     @objc func refresh(_ refreshControl: UIRefreshControl?) {
diff --git a/enzevalos_iphone/KeyTableViewController.swift b/enzevalos_iphone/KeyTableViewController.swift
index 36228a77..f45b24c8 100644
--- a/enzevalos_iphone/KeyTableViewController.swift
+++ b/enzevalos_iphone/KeyTableViewController.swift
@@ -71,8 +71,18 @@ class KeyTableViewController: UITableViewController {
             self.tableView = UITableView.init(frame: CGRect.zero, style: .grouped)
         }
         
+        let feedbackButton = UIBarButtonItem(title: FeedbackButtonHelper.Name, style: .plain, target: self, action:#selector(feedback))
+        if var items = self.toolbarItems {
+            items.append(FeedbackButtonHelper.SpaceButton)
+            items.append(feedbackButton)
+        } else {
+            self.toolbarItems = [FeedbackButtonHelper.SpaceButton, feedbackButton]
+        }
     }
     
+    @objc func feedback() {
+        FeedbackButtonHelper.composeFeedback(view: .KeyTable, navigationController: self.navigationController)
+    }
     override func viewWillAppear(_ animated: Bool) {
         self.tableView.reloadData()
     }
diff --git a/enzevalos_iphone/KeyViewController.swift b/enzevalos_iphone/KeyViewController.swift
index b88f9675..b789c227 100644
--- a/enzevalos_iphone/KeyViewController.swift
+++ b/enzevalos_iphone/KeyViewController.swift
@@ -38,6 +38,13 @@ class KeyViewController: UIViewController {
             Logger.log(keyViewOpen: keyID)
         }
         self.title = NSLocalizedString("KeyDetails", comment: "Details of the key")
+        let feedbackButton = UIBarButtonItem(title: FeedbackButtonHelper.Name, style: .plain, target: self, action:#selector(feedback))
+        self.navigationItem.rightBarButtonItem = feedbackButton
+        
+    }
+    
+    @objc func feedback() {
+        FeedbackButtonHelper.composeFeedback(view: .Key, navigationController: self.navigationController)
     }
 
     override func viewDidDisappear(_ animated: Bool) {
diff --git a/enzevalos_iphone/MoreInformationViewController.swift b/enzevalos_iphone/MoreInformationViewController.swift
index ecbb0d08..79f08af1 100644
--- a/enzevalos_iphone/MoreInformationViewController.swift
+++ b/enzevalos_iphone/MoreInformationViewController.swift
@@ -89,8 +89,15 @@ class MoreInformationViewController: UITableViewController {
         super.viewDidLoad()
 
         self.navigationItem.titleView = UIImageView(image: icon)
+        let feedbackButton = UIBarButtonItem(title: FeedbackButtonHelper.Name, style: .plain, target: self, action:#selector(feedback))
+        self.navigationItem.rightBarButtonItem = feedbackButton
+        self.navigationController?.toolbar.isHidden = true
     }
 
+    
+    @objc func feedback() {
+        FeedbackButtonHelper.composeFeedback(view: .Information, navigationController: self.navigationController)
+    }
     // MARK: - Table view data source
 
     override func numberOfSections(in tableView: UITableView) -> Int {
diff --git a/enzevalos_iphone/PasteKeyViewController.swift b/enzevalos_iphone/PasteKeyViewController.swift
index a7059b0f..294466fe 100644
--- a/enzevalos_iphone/PasteKeyViewController.swift
+++ b/enzevalos_iphone/PasteKeyViewController.swift
@@ -73,12 +73,27 @@ class PasteKeyViewController: UIViewController, UITextViewDelegate {
         self.title = NSLocalizedString("Import.PasteKey.Title", comment: "Just paste a key")
         pasteArea.delegate = self
         Logger.log(openPasteKeyView: state)
+        
+        let feedbackButton = UIBarButtonItem(title: FeedbackButtonHelper.Name, style: .plain, target: self, action:#selector(feedback))
+        let space = FeedbackButtonHelper.SpaceButton
+        if var items = self.toolbarItems {
+            items.append(space)
+            items.append(feedbackButton)
+        } else {
+            self.toolbarItems = [space, feedbackButton]
+        }
+        
+        navigationController?.toolbar.isHidden = false
     }
     
     deinit {
         NotificationCenter.default.removeObserver(self)
     }
     
+    @objc func feedback() {
+        FeedbackButtonHelper.composeFeedback(view: .Paste, navigationController: self.navigationController)
+    }
+    
     func adjustInsetForKeyboardShow(_ show: Bool, notification: Notification) {
         if let keyboardFrame: NSValue = notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue {
             let keyboardRectangle = keyboardFrame.cgRectValue
diff --git a/enzevalos_iphone/ReadViewController.swift b/enzevalos_iphone/ReadViewController.swift
index 940fb3ab..46052da9 100644
--- a/enzevalos_iphone/ReadViewController.swift
+++ b/enzevalos_iphone/ReadViewController.swift
@@ -179,6 +179,7 @@ class ReadViewController: UITableViewController {
                 self.navigationController?.navigationBar.barTintColor = ThemeManager.unencryptedMessageColor()
             }
         }
+        navigationController?.toolbar.isHidden = false
     }
 
     override func willMove(toParent parent: UIViewController?) {
@@ -385,6 +386,10 @@ class ReadViewController: UITableViewController {
                 _ = MoreInformationViewController.pushInfoView(navigationController: self.navigationController, state: state)
 
                 }))
+            alert.addAction(UIAlertAction(title: FeedbackButtonHelper.Name, style: .default, handler: {
+                (action: UIAlertAction!) -> Void in
+                FeedbackButtonHelper.composeFeedback(view: .Read, navigationController: self.navigationController)
+            }))
             alert.addAction(UIAlertAction(title: "OK", style: .cancel, handler: { (action: UIAlertAction!) -> Void in
                 let duration = Date().timeIntervalSince(opening)
                 Logger.log(close: icon, mail: m, action: .close, duration: duration)
diff --git a/enzevalos_iphone/SecretKeyTableViewController.swift b/enzevalos_iphone/SecretKeyTableViewController.swift
index 87f52388..89b89433 100644
--- a/enzevalos_iphone/SecretKeyTableViewController.swift
+++ b/enzevalos_iphone/SecretKeyTableViewController.swift
@@ -34,6 +34,20 @@ class SecretKeyTableViewController: UITableViewController {
         keys = DataHandler.handler.findSecretKeys()
         keys.append(contentsOf: ItunesKeyHandling.iTunesKeyHandler.extractSecretKeys(withKnownKeys: false))
         self.title = NSLocalizedString("SecretKeyTable.title", comment: "Title of secret key table")
+        let feedbackButton = UIBarButtonItem(title: FeedbackButtonHelper.Name, style: .plain, target: self, action:#selector(feedback))
+        let space = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: self, action: nil)
+        if var items = self.toolbarItems {
+            items.append(space)
+            items.append(feedbackButton)
+        } else {
+            self.toolbarItems = [space, feedbackButton]
+        }
+        
+        navigationController?.toolbar.isHidden = false
+    }
+    
+    @objc func feedback() {
+        FeedbackButtonHelper.composeFeedback(view: .SecretKeyTable, navigationController: self.navigationController)
     }
     
     override func numberOfSections(in tableView: UITableView) -> Int {
diff --git a/enzevalos_iphone/SendViewController.swift b/enzevalos_iphone/SendViewController.swift
index 3dc731e9..ebab5f5d 100644
--- a/enzevalos_iphone/SendViewController.swift
+++ b/enzevalos_iphone/SendViewController.swift
@@ -786,6 +786,9 @@ class SendViewController: UIViewController {
             _ = MoreInformationViewController.pushInfoView(navigationController: self.navigationController, state: state)
 
         }))
+        alert.addAction(UIAlertAction(title: FeedbackButtonHelper.Name, style: .default, handler: { (action: UIAlertAction!) -> Void in
+            FeedbackButtonHelper.composeFeedback(view: .Compose, navigationController: self.navigationController)
+        }))
         alert.addAction(UIAlertAction(title: "OK", style: .cancel, handler: { (action: UIAlertAction!) -> Void in
             let duration = Date().timeIntervalSince(opening)
             Logger.log(close: icon, mail: nil, action: .close, duration: duration)
diff --git a/enzevalos_iphone/en.lproj/Localizable.strings b/enzevalos_iphone/en.lproj/Localizable.strings
index 43f90b08..32a44b6c 100644
--- a/enzevalos_iphone/en.lproj/Localizable.strings
+++ b/enzevalos_iphone/en.lproj/Localizable.strings
@@ -282,7 +282,7 @@
 "Import.Button.Itunes" = "Transfer via iTunes";
 "Import.PasteKey.Title" = "Paste a key";
 "Import.PasteKey.Area.Default" = "Please, paste a key here...";
-"Import.PasteKey.Info.Start" = "You can copy a key from a mail, file or website and and paste it below. \nA key starts with -----BEGIN PGP PUBLIC KEY BLOCK-----.";
+"Import.PasteKey.Info.Start" = "You can copy a key from a mail, file or website and paste it below. \nA key starts with -----BEGIN PGP PUBLIC KEY BLOCK-----.";
 "Import.PasteKey.Info.WrongFormat" = "Your pasted text looks like a key but is not correct. Please, check your input again. \nA key starts with -----BEGIN PGP PUBLIC KEY BLOCK----- and ends with -----END PGP PUBLIC KEY BLOCK-----.";
 "Import.PasteKey.Info.NoKeyFormat" = "Your pasted text does not contain a key. \nA key starts with -----BEGIN PGP PUBLIC KEY BLOCK----- and ends with -----END PGP PUBLIC KEY BLOCK-----. \nIf the problem still appears, we might not support the key format. Sorry!";
 "Import.PasteKey.Info.Key" = "Your pasted text contains at least one key. Please click on \"next\" to get an overview about them.";
-- 
GitLab