فهرست منبع

Merge pull request #1000 from deltachat/swipe-to-reply-tweaks

fix summary for drafted quotes
cyBerta 4 سال پیش
والد
کامیت
a720ba44f7
2فایلهای تغییر یافته به همراه21 افزوده شده و 13 حذف شده
  1. 10 2
      deltachat-ios/Chat/DraftModel.swift
  2. 11 11
      deltachat-ios/View/QuotePreview.swift

+ 10 - 2
deltachat-ios/Chat/DraftModel.swift

@@ -19,8 +19,16 @@ public class DraftModel {
     }
 
     public func setQuote(quotedMsg: DcMsg?) {
-        quoteMessage = quotedMsg
-        self.quoteText = quotedMsg?.text
+        if let quotedMsg = quotedMsg {
+            // create a temporary draft to get the correct quoteText
+            let draftMessage = DcMsg(viewType: DC_MSG_TEXT)
+            draftMessage.quoteMessage = quotedMsg
+            self.quoteText = draftMessage.quoteText
+            self.quoteMessage = quotedMsg
+        } else {
+            self.quoteText = nil
+            self.quoteMessage = nil
+        }
     }
 
     public func save(context: DcContext) {

+ 11 - 11
deltachat-ios/View/QuotePreview.swift

@@ -90,18 +90,18 @@ public class QuotePreview: UIView, InputItem {
     }
 
     public func configure(draft: DraftModel) {
-        if draft.quoteMessage == nil && draft.quoteText == nil {
+        if let quoteText = draft.quoteText {
+            quoteView.quote.text = quoteText
+            if let quoteMessage = draft.quoteMessage {
+                let contact = quoteMessage.fromContact
+                quoteView.senderTitle.text = contact.displayName
+                quoteView.senderTitle.textColor = contact.color
+                quoteView.citeBar.backgroundColor = contact.color
+                quoteView.imagePreview.image = quoteMessage.image
+            }
+            isHidden = false
+        } else {
             isHidden = true
-            return
         }
-        quoteView.quote.text = draft.quoteText ?? draft.quoteMessage?.summary(chars: 80)
-        if let quoteMessage = draft.quoteMessage {
-            let contact = quoteMessage.fromContact
-            quoteView.senderTitle.text = contact.displayName
-            quoteView.senderTitle.textColor = contact.color
-            quoteView.citeBar.backgroundColor = contact.color
-            quoteView.imagePreview.image = quoteMessage.image
-        }
-        isHidden = false
     }
 }