Merge commit 'd786f7bb4f37b77478a8a55df44a6e87247f96c1' into feature/5433_foss_merge

* commit 'd786f7bb4f37b77478a8a55df44a6e87247f96c1': (36 commits)
  finish version++
  Release notes
  version++
  changelog.d: Upgrade MatrixSDK version ([v0.27.4](https://github.com/matrix-org/matrix-ios-sdk/releases/tag/v0.27.4)).
  Fix missing placeholder.
  Translated using Weblate (Catalan)
  Translated using Weblate (Catalan)
  Translated using Weblate (Catalan)
  Translated using Weblate (Arabic)
  Translated using Weblate (Arabic)
  Translated using Weblate (Chinese (Simplified))
  Translated using Weblate (Vietnamese)
  Translated using Weblate (Chinese (Simplified))
  Translated using Weblate (Chinese (Simplified))
  Fix: Remove the “Quote” action from the menu of the selected message.
  Update RTE to 2.18.0 to fix an issue with Speech-to-Text
  Code cleanup
  Dismiss the keyboard and minimise the composer when pasting an image, a video or a file
  Fix: focus, keyboard visibility, composer height
  Restore composer tint color
  ...

# Conflicts:
#	Config/AppVersion.xcconfig
#	Riot/Modules/Room/RoomViewController.m
This commit is contained in:
Frank Rotermund
2023-12-20 15:11:56 +01:00
23 changed files with 417 additions and 147 deletions

View File

@@ -140,6 +140,20 @@ class WysiwygInputToolbarView: MXKRoomInputToolbarView, NibLoadable, HtmlRoomInp
wysiwygViewModel.maxCompressedHeight
}
override func paste(_ sender: Any?) {
let pasteboard = MXKPasteboardManager.shared.pasteboard
let types = pasteboard.types.map { UTI(rawValue: $0) }
// Minimise the composer and dismiss the keyboard if it's an image, a video or a file
if types.contains(where: { $0.conforms(to: .image) || $0.conforms(to: .movie) || $0.conforms(to: .video) || $0.conforms(to: .application) }) {
wysiwygViewModel.maximised = false
DispatchQueue.main.async {
self.viewModel.dismissKeyboard()
}
}
super.paste(sender)
}
// MARK: - Setup
override class func instantiate() -> MXKRoomInputToolbarView! {
@@ -150,8 +164,8 @@ class WysiwygInputToolbarView: MXKRoomInputToolbarView, NibLoadable, HtmlRoomInp
return (delegate as? RoomInputToolbarViewDelegate) ?? nil
}
private var permalinkReplacer: PermalinkReplacer? {
return (delegate as? PermalinkReplacer)
private var permalinkReplacer: MentionReplacer? {
return (delegate as? MentionReplacer)
}
override func awakeFromNib() {
@@ -192,6 +206,7 @@ class WysiwygInputToolbarView: MXKRoomInputToolbarView, NibLoadable, HtmlRoomInp
}
func showKeyboard() {
self.wysiwygViewModel.textView.becomeFirstResponder()
self.viewModel.showKeyboard()
}
@@ -238,7 +253,7 @@ class WysiwygInputToolbarView: MXKRoomInputToolbarView, NibLoadable, HtmlRoomInp
self?.handleViewModelResult(result)
}
wysiwygViewModel.plainTextMode = !RiotSettings.shared.enableWysiwygTextFormatting
wysiwygViewModel.permalinkReplacer = permalinkReplacer
wysiwygViewModel.mentionReplacer = permalinkReplacer
inputAccessoryViewForKeyboard = UIView(frame: .zero)