|
@@ -400,6 +400,18 @@ class ChatViewController: UITableViewController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ func highlightCell() {
|
|
|
+ if let indexpath = highlightedCell {
|
|
|
+ tableView.allowsSelection = true
|
|
|
+ tableView.selectRow(at: indexpath, animated: true, scrollPosition: .middle)
|
|
|
+ DispatchQueue.main.asyncAfter(deadline: .now() + 1, execute: {
|
|
|
+ self.tableView.deselectRow(at: indexpath, animated: true)
|
|
|
+ self.tableView.allowsSelection = false
|
|
|
+ })
|
|
|
+ highlightedCell = nil
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
|
|
|
let messageId = messageIds[indexPath.row]
|
|
|
let message = DcMsg(id: messageId)
|
|
@@ -1069,6 +1081,17 @@ class ChatViewController: UITableViewController {
|
|
|
// MARK: - BaseMessageCellDelegate
|
|
|
extension ChatViewController: BaseMessageCellDelegate {
|
|
|
|
|
|
+ @objc func quoteTapped(indexPath: IndexPath) {
|
|
|
+ logger.debug("quoteTapped")
|
|
|
+ _ = handleUIMenu()
|
|
|
+ let msg = DcMsg(id: messageIds[indexPath.row])
|
|
|
+ if let quoteMsg = msg.quoteMessage,
|
|
|
+ let index = messageIds.firstIndex(of: quoteMsg.id) {
|
|
|
+ let indexPath = IndexPath(row: index, section: 0)
|
|
|
+ tableView.scrollToRow(at: indexPath, at: .middle, animated: true)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@objc func textTapped(indexPath: IndexPath) {
|
|
|
_ = handleUIMenu()
|
|
|
}
|