@@ -59,60 +59,70 @@ class AztecToolbar : FrameLayout, OnMenuItemClickListener {
5959 when (keyCode) {
6060 KeyEvent .KEYCODE_1 -> {
6161 if (event.isAltPressed && event.isCtrlPressed) { // Heading 1 = Alt + Ctrl + 1
62+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_HEADING_1 , true )
6263 editor?.toggleFormatting(TextFormat .FORMAT_HEADING_1 )
6364 return true
6465 }
6566 }
6667 KeyEvent .KEYCODE_2 -> {
6768 if (event.isAltPressed && event.isCtrlPressed) { // Heading 2 = Alt + Ctrl + 2
69+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_HEADING_2 , true )
6870 editor?.toggleFormatting(TextFormat .FORMAT_HEADING_2 )
6971 return true
7072 }
7173 }
7274 KeyEvent .KEYCODE_3 -> {
7375 if (event.isAltPressed && event.isCtrlPressed) { // Heading 3 = Alt + Ctrl + 3
76+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_HEADING_3 , true )
7477 editor?.toggleFormatting(TextFormat .FORMAT_HEADING_3 )
7578 return true
7679 }
7780 }
7881 KeyEvent .KEYCODE_4 -> {
7982 if (event.isAltPressed && event.isCtrlPressed) { // Heading 4 = Alt + Ctrl + 4
83+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_HEADING_4 , true )
8084 editor?.toggleFormatting(TextFormat .FORMAT_HEADING_4 )
8185 return true
8286 }
8387 }
8488 KeyEvent .KEYCODE_5 -> {
8589 if (event.isAltPressed && event.isCtrlPressed) { // Heading 5 = Alt + Ctrl + 5
90+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_HEADING_5 , true )
8691 editor?.toggleFormatting(TextFormat .FORMAT_HEADING_5 )
8792 return true
8893 }
8994 }
9095 KeyEvent .KEYCODE_6 -> {
9196 if (event.isAltPressed && event.isCtrlPressed) { // Heading 6 = Alt + Ctrl + 6
97+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_HEADING_6 , true )
9298 editor?.toggleFormatting(TextFormat .FORMAT_HEADING_6 )
9399 return true
94100 }
95101 }
96102 KeyEvent .KEYCODE_7 -> {
97103 if (event.isAltPressed && event.isCtrlPressed) { // Heading 6 = Alt + Ctrl + 7
104+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_PARAGRAPH , true )
98105 editor?.toggleFormatting(TextFormat .FORMAT_PARAGRAPH )
99106 return true
100107 }
101108 }
102109 KeyEvent .KEYCODE_8 -> {
103110 if (event.isAltPressed && event.isCtrlPressed) { // Preformat = Alt + Ctrl + 8
111+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_PREFORMAT , true )
104112 editor?.toggleFormatting(TextFormat .FORMAT_PREFORMAT )
105113 return true
106114 }
107115 }
108116 KeyEvent .KEYCODE_B -> {
109117 if (event.isCtrlPressed) { // Bold = Ctrl + B
118+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_BOLD , true )
110119 findViewById(ToolbarAction .BOLD .buttonId).performClick()
111120 return true
112121 }
113122 }
114123 KeyEvent .KEYCODE_D -> {
115124 if (event.isCtrlPressed) { // Strikethrough = Ctrl + D
125+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_STRIKETHROUGH , true )
116126 findViewById(ToolbarAction .STRIKETHROUGH .buttonId).performClick()
117127 return true
118128 }
@@ -125,51 +135,60 @@ class AztecToolbar : FrameLayout, OnMenuItemClickListener {
125135 }
126136 KeyEvent .KEYCODE_I -> {
127137 if (event.isCtrlPressed) { // Italic = Ctrl + I
138+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_ITALIC , true )
128139 findViewById(ToolbarAction .ITALIC .buttonId).performClick()
129140 return true
130141 }
131142 }
132143 KeyEvent .KEYCODE_K -> {
133144 if (event.isCtrlPressed) { // Link = Ctrl + K
145+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_LINK , true )
134146 findViewById(ToolbarAction .LINK .buttonId).performClick()
135147 return true
136148 }
137149 }
138150 KeyEvent .KEYCODE_M -> {
139151 if (event.isAltPressed && event.isCtrlPressed) { // Media = Alt + Ctrl + M
152+ aztecToolbarListener?.onToolbarMediaButtonClicked()
140153 findViewById(ToolbarAction .ADD_MEDIA .buttonId).performClick()
141154 return true
142155 }
143156 }
144157 KeyEvent .KEYCODE_O -> {
145158 if (event.isAltPressed && event.isCtrlPressed) { // Ordered List = Alt + Ctrl + O
159+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_ORDERED_LIST , true )
146160 editor?.toggleFormatting(TextFormat .FORMAT_ORDERED_LIST )
147161 return true
148162 }
149163 }
150164 KeyEvent .KEYCODE_P -> {
151165 if (event.isAltPressed && event.isCtrlPressed) { // Page Break = Alt + Ctrl + P
166+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_PAGE , true )
152167 findViewById(ToolbarAction .PAGE .buttonId).performClick()
153168 return true
154169 }
155170 }
156171 KeyEvent .KEYCODE_Q -> {
157172 if (event.isAltPressed && event.isCtrlPressed) { // Quote = Alt + Ctrl + Q
173+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_QUOTE , true )
158174 findViewById(ToolbarAction .QUOTE .buttonId).performClick()
159175 return true
160176 }
161177 }
162178 KeyEvent .KEYCODE_T -> {
163179 if (event.isAltPressed && event.isCtrlPressed) { // Read More = Alt + Ctrl + T
180+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_MORE , true )
164181 findViewById(ToolbarAction .MORE .buttonId).performClick()
165182 return true
166183 }
167184 }
168185 KeyEvent .KEYCODE_U -> {
169186 if (event.isAltPressed && event.isCtrlPressed) { // Unordered List = Alt + Ctrl + U
187+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_UNORDERED_LIST , true )
170188 editor?.toggleFormatting(TextFormat .FORMAT_UNORDERED_LIST )
171189 return true
172190 } else if (event.isCtrlPressed) { // Underline = Ctrl + U
191+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_UNDERLINE , true )
173192 findViewById(ToolbarAction .UNDERLINE .buttonId).performClick()
174193 return true
175194 }
@@ -205,52 +224,62 @@ class AztecToolbar : FrameLayout, OnMenuItemClickListener {
205224 when (item?.itemId) {
206225 // Heading Menu
207226 R .id.paragraph -> {
227+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_PARAGRAPH , false )
208228 editor?.toggleFormatting(TextFormat .FORMAT_PARAGRAPH )
209229 setHeadingMenuSelector(TextFormat .FORMAT_PARAGRAPH )
210230 return true
211231 }
212232 R .id.heading_1 -> {
233+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_HEADING_1 , false )
213234 editor?.toggleFormatting(TextFormat .FORMAT_HEADING_1 )
214235 setHeadingMenuSelector(TextFormat .FORMAT_HEADING_1 )
215236 return true
216237 }
217238 R .id.heading_2 -> {
239+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_HEADING_2 , false )
218240 editor?.toggleFormatting(TextFormat .FORMAT_HEADING_2 )
219241 setHeadingMenuSelector(TextFormat .FORMAT_HEADING_2 )
220242 return true
221243 }
222244 R .id.heading_3 -> {
245+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_HEADING_3 , false )
223246 editor?.toggleFormatting(TextFormat .FORMAT_HEADING_3 )
224247 setHeadingMenuSelector(TextFormat .FORMAT_HEADING_3 )
225248 return true
226249 }
227250 R .id.heading_4 -> {
251+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_HEADING_4 , false )
228252 editor?.toggleFormatting(TextFormat .FORMAT_HEADING_4 )
229253 setHeadingMenuSelector(TextFormat .FORMAT_HEADING_4 )
230254 return true
231255 }
232256 R .id.heading_5 -> {
257+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_HEADING_5 , false )
233258 editor?.toggleFormatting(TextFormat .FORMAT_HEADING_5 )
234259 setHeadingMenuSelector(TextFormat .FORMAT_HEADING_5 )
235260 return true
236261 }
237262 R .id.heading_6 -> {
263+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_HEADING_6 , false )
238264 editor?.toggleFormatting(TextFormat .FORMAT_HEADING_6 )
239265 setHeadingMenuSelector(TextFormat .FORMAT_HEADING_6 )
240266 return true
241267 }
242268// TODO: Uncomment when Preformat is to be added back as a feature
243269// R.id.preformat -> {
270+ // aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat.FORMAT_PREFORMAT, false)
244271// editor?.toggleFormatting(TextFormat.FORMAT_PREFORMAT)
245272// return true
246273// }
247274 // List Menu
248275 R .id.list_ordered -> {
276+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_ORDERED_LIST , false )
249277 editor?.toggleFormatting(TextFormat .FORMAT_ORDERED_LIST )
250278 toggleListMenuSelection(item.itemId, checked)
251279 return true
252280 }
253281 R .id.list_unordered -> {
282+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_UNORDERED_LIST , false )
254283 editor?.toggleFormatting(TextFormat .FORMAT_UNORDERED_LIST )
255284 toggleListMenuSelection(item.itemId, checked)
256285 return true
@@ -382,23 +411,44 @@ class AztecToolbar : FrameLayout, OnMenuItemClickListener {
382411 textFormats.add(getSelectedListMenuItem()!! )
383412 }
384413
414+ aztecToolbarListener?.onToolbarFormatButtonClicked(action.textFormat!! , false )
385415 return editor!! .setSelectedStyles(textFormats)
386416 }
387417
388418 // if text is selected and action is styling - toggle the style
389419 if (action.isStylingAction() && action != ToolbarAction .HEADING && action != ToolbarAction .LIST ) {
420+ aztecToolbarListener?.onToolbarFormatButtonClicked(action.textFormat!! , false )
390421 return editor!! .toggleFormatting(action.textFormat!! )
391422 }
392423
393424 // other toolbar action
394425 when (action) {
395- ToolbarAction .ADD_MEDIA -> aztecToolbarListener?.onToolbarAddMediaClicked()
396- ToolbarAction .HEADING -> headingMenu?.show()
397- ToolbarAction .LIST -> listMenu?.show()
398- ToolbarAction .LINK -> editor!! .showLinkDialog()
399- ToolbarAction .HTML -> aztecToolbarListener?.onToolbarHtmlModeClicked()
400- ToolbarAction .ELLIPSIS_COLLAPSE -> animateToolbarCollapse()
401- ToolbarAction .ELLIPSIS_EXPAND -> animateToolbarExpand()
426+ ToolbarAction .ADD_MEDIA -> {
427+ aztecToolbarListener?.onToolbarMediaButtonClicked()
428+ }
429+ ToolbarAction .HEADING -> {
430+ aztecToolbarListener?.onToolbarHeadingButtonClicked()
431+ headingMenu?.show()
432+ }
433+ ToolbarAction .LIST -> {
434+ aztecToolbarListener?.onToolbarListButtonClicked()
435+ listMenu?.show()
436+ }
437+ ToolbarAction .LINK -> {
438+ aztecToolbarListener?.onToolbarFormatButtonClicked(TextFormat .FORMAT_LINK , false )
439+ editor!! .showLinkDialog()
440+ }
441+ ToolbarAction .HTML -> {
442+ aztecToolbarListener?.onToolbarHtmlButtonClicked()
443+ }
444+ ToolbarAction .ELLIPSIS_COLLAPSE -> {
445+ aztecToolbarListener?.onToolbarCollapseButtonClicked()
446+ animateToolbarCollapse()
447+ }
448+ ToolbarAction .ELLIPSIS_EXPAND -> {
449+ aztecToolbarListener?.onToolbarExpandButtonClicked()
450+ animateToolbarExpand()
451+ }
402452 else -> {
403453 Toast .makeText(context, " Unsupported action" , Toast .LENGTH_SHORT ).show()
404454 }
0 commit comments