@@ -20,6 +20,7 @@ package com.infomaniak.mail.ui.newMessage
20
20
import android.content.res.ColorStateList
21
21
import androidx.core.view.isGone
22
22
import androidx.core.view.isVisible
23
+ import androidx.lifecycle.lifecycleScope
23
24
import com.google.android.material.button.MaterialButton
24
25
import com.infomaniak.mail.MatomoMail
25
26
import com.infomaniak.mail.MatomoMail.trackEvent
@@ -28,6 +29,7 @@ import com.infomaniak.mail.databinding.FragmentNewMessageBinding
28
29
import com.infomaniak.mail.utils.extensions.getAttributeColor
29
30
import com.infomaniak.mail.utils.extensions.notYetImplemented
30
31
import dagger.hilt.android.scopes.FragmentScoped
32
+ import kotlinx.coroutines.launch
31
33
import javax.inject.Inject
32
34
import com.google.android.material.R as RMaterial
33
35
@@ -57,19 +59,19 @@ class NewMessageEditorManager @Inject constructor() : NewMessageManager() {
57
59
_openFilePicker = openFilePicker
58
60
}
59
61
60
- fun observeEditorActions () {
62
+ fun observeEditorActions () = with (binding) {
61
63
newMessageViewModel.editorAction.observe(viewLifecycleOwner) { (editorAction, _) ->
62
64
when (editorAction) {
63
65
EditorAction .ATTACHMENT -> _openFilePicker ?.invoke()
64
66
EditorAction .CAMERA -> fragment.notYetImplemented()
65
67
EditorAction .LINK -> fragment.notYetImplemented()
66
68
EditorAction .CLOCK -> fragment.notYetImplemented()
67
69
EditorAction .AI -> aiManager.openAiPrompt()
68
- EditorAction .BOLD -> {}
69
- EditorAction .ITALIC -> {}
70
- EditorAction .UNDERLINE -> {}
71
- EditorAction .STRIKE_THROUGH -> {}
72
- EditorAction .UNORDERED_LIST -> {}
70
+ EditorAction .BOLD -> editorWebView.toggleBold()
71
+ EditorAction .ITALIC -> editorWebView.toggleItalic()
72
+ EditorAction .UNDERLINE -> editorWebView.toggleUnderline()
73
+ EditorAction .STRIKE_THROUGH -> editorWebView.toggleStrikeThrough()
74
+ EditorAction .UNORDERED_LIST -> editorWebView.toggleUnorderedList()
73
75
}
74
76
}
75
77
}
@@ -120,6 +122,18 @@ class NewMessageEditorManager @Inject constructor() : NewMessageManager() {
120
122
textEditing.isVisible = isEditorExpanded
121
123
}
122
124
125
+ fun observeEditorStatus (): Unit = with (binding) {
126
+ viewLifecycleOwner.lifecycleScope.launch {
127
+ editorWebView.editorStatusesFlow.collect {
128
+ buttonBold.isActivated = it.isBold
129
+ buttonItalic.isActivated = it.isItalic
130
+ buttonUnderline.isActivated = it.isUnderlined
131
+ buttonStrikeThrough.isActivated = it.isStrikeThrough
132
+ buttonList.isActivated = it.isUnorderedListSelected
133
+ }
134
+ }
135
+ }
136
+
123
137
enum class EditorAction (val matomoValue : String ) {
124
138
ATTACHMENT (" importFile" ),
125
139
CAMERA (" importFromCamera" ),
0 commit comments