From 8c54a918ffe293a0e0a66f0b1b24df077a9df8bc Mon Sep 17 00:00:00 2001 From: aringenbach Date: Wed, 9 Nov 2022 16:43:58 +0100 Subject: [PATCH] Rich-text editor: enable translations between Markdown and HTML when toggling text formatting --- Riot.xcworkspace/xcshareddata/swiftpm/Package.resolved | 2 +- .../Views/WYSIWYGInputToolbar/WysiwygInputToolbarView.swift | 3 +-- .../Modules/Room/Composer/MockComposerScreenState.swift | 2 +- RiotSwiftUI/Modules/Room/Composer/View/Composer.swift | 6 +----- changelog.d/7061.feature | 1 + project.yml | 2 +- 6 files changed, 6 insertions(+), 10 deletions(-) create mode 100644 changelog.d/7061.feature diff --git a/Riot.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Riot.xcworkspace/xcshareddata/swiftpm/Package.resolved index 464458994..2b7a8c16f 100644 --- a/Riot.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/Riot.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -23,7 +23,7 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/matrix-org/matrix-wysiwyg-composer-swift", "state" : { - "revision" : "3cafc52d257411e06d4be4d0e2cdeeb4bd4b7099" + "revision" : "74bfffeaa56e9d98bbeedf0a5f2c46125fc522e1" } }, { diff --git a/Riot/Modules/Room/Views/WYSIWYGInputToolbar/WysiwygInputToolbarView.swift b/Riot/Modules/Room/Views/WYSIWYGInputToolbar/WysiwygInputToolbarView.swift index dfc53844b..8a8712377 100644 --- a/Riot/Modules/Room/Views/WYSIWYGInputToolbar/WysiwygInputToolbarView.swift +++ b/Riot/Modules/Room/Views/WYSIWYGInputToolbar/WysiwygInputToolbarView.swift @@ -137,8 +137,7 @@ class WysiwygInputToolbarView: MXKRoomInputToolbarView, NibLoadable, HtmlRoomInp } private func sendWysiwygMessage(content: WysiwygComposerContent) { - let html = content.html.isEmpty ? content.plainText : content.html - delegate?.roomInputToolbarView?(self, sendFormattedTextMessage: html, withRawText: content.plainText) + delegate?.roomInputToolbarView?(self, sendFormattedTextMessage: content.html, withRawText: content.markdown) } private func showSendMediaActions() { diff --git a/RiotSwiftUI/Modules/Room/Composer/MockComposerScreenState.swift b/RiotSwiftUI/Modules/Room/Composer/MockComposerScreenState.swift index 724ae1ac7..418fb0a45 100644 --- a/RiotSwiftUI/Modules/Room/Composer/MockComposerScreenState.swift +++ b/RiotSwiftUI/Modules/Room/Composer/MockComposerScreenState.swift @@ -37,7 +37,7 @@ enum MockComposerScreenState: MockScreenState, CaseIterable { case .reply: viewModel = ComposerViewModel(initialViewState: ComposerViewState(eventSenderDisplayName: "TestUser", sendMode: .reply, bindings: bindings)) } - let wysiwygviewModel = WysiwygComposerViewModel(minHeight: 20, maxHeight: 360) + let wysiwygviewModel = WysiwygComposerViewModel(minHeight: 20, maxCompressedHeight: 360) viewModel.callback = { [weak viewModel, weak wysiwygviewModel] result in guard let viewModel = viewModel else { return } diff --git a/RiotSwiftUI/Modules/Room/Composer/View/Composer.swift b/RiotSwiftUI/Modules/Room/Composer/View/Composer.swift index ee29cb676..a3a23427a 100644 --- a/RiotSwiftUI/Modules/Room/Composer/View/Composer.swift +++ b/RiotSwiftUI/Modules/Room/Composer/View/Composer.swift @@ -158,11 +158,7 @@ struct Composer: View { private var sendButton: some View { return Button { - if wysiwygViewModel.plainTextMode { - sendMessageAction(wysiwygViewModel.plainTextModeContent) - } else { - sendMessageAction(wysiwygViewModel.content) - } + sendMessageAction(wysiwygViewModel.content) wysiwygViewModel.clearContent() } label: { if viewModel.viewState.sendMode == .edit { diff --git a/changelog.d/7061.feature b/changelog.d/7061.feature new file mode 100644 index 000000000..58ab65620 --- /dev/null +++ b/changelog.d/7061.feature @@ -0,0 +1 @@ +Labs: Rich-text editor: enable translations between Markdown and HTML when toggling text formatting diff --git a/project.yml b/project.yml index 2f45d3418..2c3cdd9b8 100644 --- a/project.yml +++ b/project.yml @@ -53,7 +53,7 @@ packages: branch: main WysiwygComposer: url: https://github.com/matrix-org/matrix-wysiwyg-composer-swift - revision: 3cafc52d257411e06d4be4d0e2cdeeb4bd4b7099 + revision: 74bfffeaa56e9d98bbeedf0a5f2c46125fc522e1 DeviceKit: url: https://github.com/devicekit/DeviceKit majorVersion: 4.7.0