From 15c1a9cf89b7d4d93e968fd3ea8d6edb94b8c4fa Mon Sep 17 00:00:00 2001 From: aringenbach Date: Wed, 9 Nov 2022 10:13:53 +0100 Subject: [PATCH] Rich-text editor: Fix text formatting enabled inconsistent state --- .../Views/WYSIWYGInputToolbar/WysiwygInputToolbarView.swift | 4 +++- .../Modules/Room/Composer/MockComposerScreenState.swift | 6 +++--- .../Modules/Room/Composer/Model/ComposerViewState.swift | 2 +- changelog.d/7052.bugfix | 1 + 4 files changed, 8 insertions(+), 5 deletions(-) create mode 100644 changelog.d/7052.bugfix diff --git a/Riot/Modules/Room/Views/WYSIWYGInputToolbar/WysiwygInputToolbarView.swift b/Riot/Modules/Room/Views/WYSIWYGInputToolbar/WysiwygInputToolbarView.swift index dfc53844b..49d1d102e 100644 --- a/Riot/Modules/Room/Views/WYSIWYGInputToolbar/WysiwygInputToolbarView.swift +++ b/Riot/Modules/Room/Views/WYSIWYGInputToolbar/WysiwygInputToolbarView.swift @@ -37,7 +37,9 @@ class WysiwygInputToolbarView: MXKRoomInputToolbarView, NibLoadable, HtmlRoomInp private var heightConstraint: NSLayoutConstraint! private var hostingViewController: VectorHostingController! private var wysiwygViewModel = WysiwygComposerViewModel(textColor: ThemeService.shared().theme.colors.primaryContent) - private var viewModel: ComposerViewModelProtocol = ComposerViewModel(initialViewState: ComposerViewState(bindings: ComposerBindings(focused: false))) + private var viewModel: ComposerViewModelProtocol = ComposerViewModel( + initialViewState: ComposerViewState(textFormattingEnabled: RiotSettings.shared.enableWysiwygTextFormatting, + bindings: ComposerBindings(focused: false))) // MARK: Public diff --git a/RiotSwiftUI/Modules/Room/Composer/MockComposerScreenState.swift b/RiotSwiftUI/Modules/Room/Composer/MockComposerScreenState.swift index 724ae1ac7..f1e676bba 100644 --- a/RiotSwiftUI/Modules/Room/Composer/MockComposerScreenState.swift +++ b/RiotSwiftUI/Modules/Room/Composer/MockComposerScreenState.swift @@ -32,9 +32,9 @@ enum MockComposerScreenState: MockScreenState, CaseIterable { let bindings = ComposerBindings(focused: false) switch self { - case .send: viewModel = ComposerViewModel(initialViewState: ComposerViewState(bindings: bindings)) - case .edit: viewModel = ComposerViewModel(initialViewState: ComposerViewState(sendMode: .edit, bindings: bindings)) - case .reply: viewModel = ComposerViewModel(initialViewState: ComposerViewState(eventSenderDisplayName: "TestUser", sendMode: .reply, bindings: bindings)) + case .send: viewModel = ComposerViewModel(initialViewState: ComposerViewState(textFormattingEnabled: true, bindings: bindings)) + case .edit: viewModel = ComposerViewModel(initialViewState: ComposerViewState(sendMode: .edit, textFormattingEnabled: true, bindings: bindings)) + case .reply: viewModel = ComposerViewModel(initialViewState: ComposerViewState(eventSenderDisplayName: "TestUser", sendMode: .reply, textFormattingEnabled: true, bindings: bindings)) } let wysiwygviewModel = WysiwygComposerViewModel(minHeight: 20, maxHeight: 360) diff --git a/RiotSwiftUI/Modules/Room/Composer/Model/ComposerViewState.swift b/RiotSwiftUI/Modules/Room/Composer/Model/ComposerViewState.swift index 38f1cf227..c4293eafc 100644 --- a/RiotSwiftUI/Modules/Room/Composer/Model/ComposerViewState.swift +++ b/RiotSwiftUI/Modules/Room/Composer/Model/ComposerViewState.swift @@ -19,7 +19,7 @@ import Foundation struct ComposerViewState: BindableState { var eventSenderDisplayName: String? var sendMode: ComposerSendMode = .send - var textFormattingEnabled = true + var textFormattingEnabled: Bool var placeholder: String? var bindings: ComposerBindings diff --git a/changelog.d/7052.bugfix b/changelog.d/7052.bugfix new file mode 100644 index 000000000..b97aaa982 --- /dev/null +++ b/changelog.d/7052.bugfix @@ -0,0 +1 @@ +Labs: Rich-text editor - Fix text formatting enabled inconsistent state