From b1e8f67ad1b608e8a5d1516e95eed91af6e5a170 Mon Sep 17 00:00:00 2001 From: Oliver Wiese <oliver.wiese@fu-berlin.de> Date: Thu, 7 Jun 2018 15:57:35 +0200 Subject: [PATCH] add invitation mode to options --- enzevalos_iphone/DataHandler.swift | 1 + enzevalos_iphone/Settings.bundle/Root.plist | 36 +++++++++++++++++-- enzevalos_iphone/StudySettings.swift | 3 +- enzevalos_iphone/UserData.swift | 12 +++++-- enzevalos_iphone/en.lproj/Localizable.strings | 2 +- 5 files changed, 47 insertions(+), 7 deletions(-) diff --git a/enzevalos_iphone/DataHandler.swift b/enzevalos_iphone/DataHandler.swift index 1578a225..469e732b 100644 --- a/enzevalos_iphone/DataHandler.swift +++ b/enzevalos_iphone/DataHandler.swift @@ -651,6 +651,7 @@ class DataHandler { func createMail(_ uid: UInt64, sender: MCOAddress?, receivers: [MCOAddress], cc: [MCOAddress], time: Date, received: Bool, subject: String, body: String?, flags: MCOMessageFlag, record: KeyRecord?, autocrypt: AutocryptContact?, decryptedData: CryptoObject?, folderPath: String, secretKey: String?, references: [String] = [], mailagent: String? = nil, messageID: String? = nil) -> PersistentMail? { let myfolder = findFolder(with: folderPath) as Folder let finding = findNum("PersistentMail", type: "uid", search: uid) + let mail: PersistentMail var mails: [PersistentMail] = [] diff --git a/enzevalos_iphone/Settings.bundle/Root.plist b/enzevalos_iphone/Settings.bundle/Root.plist index 415db619..164908d3 100644 --- a/enzevalos_iphone/Settings.bundle/Root.plist +++ b/enzevalos_iphone/Settings.bundle/Root.plist @@ -2,8 +2,8 @@ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> - <key>Title</key> - <string>Mail 2.0</string> + <key>Title</key> + <string>Mail 2.0</string> <key>StringsTable</key> <string>Root</string> <key>PreferenceSpecifiers</key> @@ -34,6 +34,38 @@ <key>DefaultValue</key> <string>Verfasst mit Letterbox. Mehr Informationen: http://letterbox.imp.fu-berlin.de?invitation=0</string> </dict> + <dict> + <key>Type</key> + <string>PSGroupSpecifier</string> + <key>Title</key> + <string>Invitation</string> + <key>Key</key> + <string>Invitation</string> + </dict> + <dict> + <key>Titles</key> + <array> + <string>Free text</string> + <string>Invitation mail</string> + <string>Censored mail</string> + <string>Encrypted mail</string> + </array> + <key>Key</key> + <string>Invitation.Mode</string> + <key>Type</key> + <string>PSMultiValueSpecifier</string> + <key>Title</key> + <string>Invitation mode</string> + <key>Values</key> + <array> + <integer>3</integer> + <integer>0</integer> + <integer>2</integer> + <integer>1</integer> + </array> + <key>DefaultValue</key> + <string>1</string> + </dict> <dict> <key>Type</key> <string>PSGroupSpecifier</string> diff --git a/enzevalos_iphone/StudySettings.swift b/enzevalos_iphone/StudySettings.swift index 220214fa..01b74b82 100644 --- a/enzevalos_iphone/StudySettings.swift +++ b/enzevalos_iphone/StudySettings.swift @@ -60,7 +60,7 @@ class StudySettings { public static var invitationEnabled: Bool{ get { - return true //invitationsmode == InvitationMode.Censorship || invitationsmode == InvitationMode.PasswordEnc + return true } } static var freeTextInvitationTitle: String { @@ -101,6 +101,7 @@ class StudySettings { static var invitationsmode: InvitationMode{ get{ + return UserManager.loadInvitationMode() let value = UserDefaults.standard.integer(forKey: StudyParamter.Invitation.keyName) if let mode = InvitationMode.init(rawValue: value){ return mode diff --git a/enzevalos_iphone/UserData.swift b/enzevalos_iphone/UserData.swift index ba402de3..c596df8c 100644 --- a/enzevalos_iphone/UserData.swift +++ b/enzevalos_iphone/UserData.swift @@ -186,14 +186,20 @@ struct UserManager { } static func loadUserSignature() -> String { - let enabled = UserDefaults.standard.bool(forKey: "Signature.Switch") - let sig = UserDefaults.standard.string(forKey: "Signature.Text") if UserDefaults.standard.bool(forKey: "Signature.Switch"), let sig = UserDefaults.standard.string(forKey: "Signature.Text") { -return "\n\n______________________________\n\n\(sig.trimmingCharacters(in: .whitespacesAndNewlines))\n\n" + return "\n\n______________________________\n\n\(sig.trimmingCharacters(in: .whitespacesAndNewlines))\n\n" } return "" } + + static func loadInvitationMode()-> InvitationMode{ + let mode = UserDefaults.standard.integer(forKey: "Invitation.Mode") + if let invitationmode = InvitationMode(rawValue: mode){ + return invitationmode + } + return InvitationMode.Censorship + } static func resetUserValues() { for a in Attribute.allAttributes { diff --git a/enzevalos_iphone/en.lproj/Localizable.strings b/enzevalos_iphone/en.lproj/Localizable.strings index e2849ac4..7bd73e1a 100644 --- a/enzevalos_iphone/en.lproj/Localizable.strings +++ b/enzevalos_iphone/en.lproj/Localizable.strings @@ -64,7 +64,7 @@ "KeyNotFound" = "No Key Found. This is an error, contact the developers!"; "Letter" = "Letter"; "LetterDamaged" = "Damaged Letter"; -"LetterDescription" = "• A confidential mail\n• Written by the stated sender\n• Needs participation of sender and receiver. Therefor you can invite contacts in the app."; +"LetterDescription" = "• A confidential mail\n• Written by the stated sender\n• Needs participation of sender and receiver. You can invite contacts in the app."; "mail from" = "mail from"; "Message" = "Message"; "MoreInformation" = "More Information"; -- GitLab