Skip to content

Commit afe8a99

Browse files
author
Jonathan Weber
committed
actual fix for disable shortcuts
1 parent b666082 commit afe8a99

File tree

6 files changed

+160
-181
lines changed

6 files changed

+160
-181
lines changed

lib/src/editor/editor.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,8 @@ class QuillEditorState extends State<QuillEditor>
265265
controller: controller,
266266
dragOffsetNotifier: dragOffsetNotifier,
267267
config: QuillRawEditorConfig(
268+
actionConfiguration: widget.config.actionConfiguration,
269+
shortcutConfiguration: widget.config.shortcutConfiguration,
268270
characterShortcutEvents: widget.config.characterShortcutEvents,
269271
spaceShortcutEvents: widget.config.spaceShortcutEvents,
270272
onKeyPressed: widget.config.onKeyPressed,

lib/src/editor/raw_editor/keyboard_shortcuts/default_single_activator_intents.dart

Lines changed: 149 additions & 177 deletions
Original file line numberDiff line numberDiff line change
@@ -9,199 +9,171 @@ import 'editor_keyboard_shortcut_actions.dart';
99
final _isDesktopMacOS = isMacOS;
1010

1111
@internal
12-
Map<SingleActivator, Intent> defaultSinlgeActivatorIntents(
13-
QuillActionConfiguration actionConfiguration) {
12+
Map<SingleActivator, Intent> defaultSinlgeActivatorIntents() {
1413
return {
15-
if (actionConfiguration.enableHideSelectionToolbarIntent)
16-
const SingleActivator(
17-
LogicalKeyboardKey.escape,
18-
): const HideSelectionToolbarIntent(),
19-
if (actionConfiguration.enableUndoTextIntent)
20-
SingleActivator(
21-
LogicalKeyboardKey.keyZ,
22-
control: !_isDesktopMacOS,
23-
meta: _isDesktopMacOS,
24-
): const UndoTextIntent(SelectionChangedCause.keyboard),
25-
if (actionConfiguration.enableRedoTextIntent)
26-
SingleActivator(
27-
LogicalKeyboardKey.keyY,
28-
control: !_isDesktopMacOS,
29-
meta: _isDesktopMacOS,
30-
): const RedoTextIntent(SelectionChangedCause.keyboard),
14+
const SingleActivator(
15+
LogicalKeyboardKey.escape,
16+
): const HideSelectionToolbarIntent(),
17+
SingleActivator(
18+
LogicalKeyboardKey.keyZ,
19+
control: !_isDesktopMacOS,
20+
meta: _isDesktopMacOS,
21+
): const UndoTextIntent(SelectionChangedCause.keyboard),
22+
SingleActivator(
23+
LogicalKeyboardKey.keyY,
24+
control: !_isDesktopMacOS,
25+
meta: _isDesktopMacOS,
26+
): const RedoTextIntent(SelectionChangedCause.keyboard),
3127

3228
// Selection formatting.
33-
if (actionConfiguration.enableToggleTextStyleIntent)
34-
SingleActivator(
35-
LogicalKeyboardKey.keyB,
36-
control: !_isDesktopMacOS,
37-
meta: _isDesktopMacOS,
38-
): const ToggleTextStyleIntent(Attribute.bold),
39-
if (actionConfiguration.enableToggleTextStyleIntent)
40-
SingleActivator(
41-
LogicalKeyboardKey.keyU,
42-
control: !_isDesktopMacOS,
43-
meta: _isDesktopMacOS,
44-
): const ToggleTextStyleIntent(Attribute.underline),
45-
if (actionConfiguration.enableToggleTextStyleIntent)
46-
SingleActivator(
47-
LogicalKeyboardKey.keyI,
48-
control: !_isDesktopMacOS,
49-
meta: _isDesktopMacOS,
50-
): const ToggleTextStyleIntent(Attribute.italic),
51-
if (actionConfiguration.enableToggleTextStyleIntent)
52-
SingleActivator(
53-
LogicalKeyboardKey.keyS,
54-
control: !_isDesktopMacOS,
55-
meta: _isDesktopMacOS,
56-
shift: true,
57-
): const ToggleTextStyleIntent(Attribute.strikeThrough),
58-
if (actionConfiguration.enableToggleTextStyleIntent)
59-
SingleActivator(
60-
LogicalKeyboardKey.backquote,
61-
control: !_isDesktopMacOS,
62-
meta: _isDesktopMacOS,
63-
): const ToggleTextStyleIntent(Attribute.inlineCode),
64-
if (actionConfiguration.enableToggleTextStyleIntent)
65-
SingleActivator(
66-
LogicalKeyboardKey.tilde,
67-
control: !_isDesktopMacOS,
68-
meta: _isDesktopMacOS,
69-
shift: true,
70-
): const ToggleTextStyleIntent(Attribute.codeBlock),
71-
if (actionConfiguration.enableToggleTextStyleIntent)
72-
SingleActivator(
73-
LogicalKeyboardKey.keyB,
74-
control: !_isDesktopMacOS,
75-
meta: _isDesktopMacOS,
76-
shift: true,
77-
): const ToggleTextStyleIntent(Attribute.blockQuote),
78-
if (actionConfiguration.enableApplyLinkIntent)
79-
SingleActivator(
80-
LogicalKeyboardKey.keyK,
81-
control: !_isDesktopMacOS,
82-
meta: _isDesktopMacOS,
83-
): const QuillEditorApplyLinkIntent(),
29+
SingleActivator(
30+
LogicalKeyboardKey.keyB,
31+
control: !_isDesktopMacOS,
32+
meta: _isDesktopMacOS,
33+
): const ToggleTextStyleIntent(Attribute.bold),
34+
SingleActivator(
35+
LogicalKeyboardKey.keyU,
36+
control: !_isDesktopMacOS,
37+
meta: _isDesktopMacOS,
38+
): const ToggleTextStyleIntent(Attribute.underline),
39+
SingleActivator(
40+
LogicalKeyboardKey.keyI,
41+
control: !_isDesktopMacOS,
42+
meta: _isDesktopMacOS,
43+
): const ToggleTextStyleIntent(Attribute.italic),
44+
SingleActivator(
45+
LogicalKeyboardKey.keyS,
46+
control: !_isDesktopMacOS,
47+
meta: _isDesktopMacOS,
48+
shift: true,
49+
): const ToggleTextStyleIntent(Attribute.strikeThrough),
50+
SingleActivator(
51+
LogicalKeyboardKey.backquote,
52+
control: !_isDesktopMacOS,
53+
meta: _isDesktopMacOS,
54+
): const ToggleTextStyleIntent(Attribute.inlineCode),
55+
SingleActivator(
56+
LogicalKeyboardKey.tilde,
57+
control: !_isDesktopMacOS,
58+
meta: _isDesktopMacOS,
59+
shift: true,
60+
): const ToggleTextStyleIntent(Attribute.codeBlock),
61+
SingleActivator(
62+
LogicalKeyboardKey.keyB,
63+
control: !_isDesktopMacOS,
64+
meta: _isDesktopMacOS,
65+
shift: true,
66+
): const ToggleTextStyleIntent(Attribute.blockQuote),
67+
SingleActivator(
68+
LogicalKeyboardKey.keyK,
69+
control: !_isDesktopMacOS,
70+
meta: _isDesktopMacOS,
71+
): const QuillEditorApplyLinkIntent(),
8472

8573
// Lists
86-
if (actionConfiguration.enableToggleTextStyleIntent)
87-
SingleActivator(
88-
LogicalKeyboardKey.keyL,
89-
control: !_isDesktopMacOS,
90-
meta: _isDesktopMacOS,
91-
shift: true,
92-
): const ToggleTextStyleIntent(Attribute.ul),
93-
if (actionConfiguration.enableToggleTextStyleIntent)
94-
SingleActivator(
95-
LogicalKeyboardKey.keyO,
96-
control: !_isDesktopMacOS,
97-
meta: _isDesktopMacOS,
98-
shift: true,
99-
): const ToggleTextStyleIntent(Attribute.ol),
100-
if (actionConfiguration.enableApplyCheckListIntent)
101-
SingleActivator(
102-
LogicalKeyboardKey.keyC,
103-
control: !_isDesktopMacOS,
104-
meta: _isDesktopMacOS,
105-
shift: true,
106-
): const QuillEditorApplyCheckListIntent(),
74+
SingleActivator(
75+
LogicalKeyboardKey.keyL,
76+
control: !_isDesktopMacOS,
77+
meta: _isDesktopMacOS,
78+
shift: true,
79+
): const ToggleTextStyleIntent(Attribute.ul),
80+
SingleActivator(
81+
LogicalKeyboardKey.keyO,
82+
control: !_isDesktopMacOS,
83+
meta: _isDesktopMacOS,
84+
shift: true,
85+
): const ToggleTextStyleIntent(Attribute.ol),
86+
SingleActivator(
87+
LogicalKeyboardKey.keyC,
88+
control: !_isDesktopMacOS,
89+
meta: _isDesktopMacOS,
90+
shift: true,
91+
): const QuillEditorApplyCheckListIntent(),
10792

10893
// Indents
109-
if (actionConfiguration.enableIndentSelectionIntent)
110-
SingleActivator(
111-
LogicalKeyboardKey.keyM,
112-
control: !_isDesktopMacOS,
113-
meta: _isDesktopMacOS,
114-
): const IndentSelectionIntent(true),
115-
if (actionConfiguration.enableIndentSelectionIntent)
116-
SingleActivator(
117-
LogicalKeyboardKey.keyM,
118-
control: !_isDesktopMacOS,
119-
meta: _isDesktopMacOS,
120-
shift: true,
121-
): const IndentSelectionIntent(false),
94+
SingleActivator(
95+
LogicalKeyboardKey.keyM,
96+
control: !_isDesktopMacOS,
97+
meta: _isDesktopMacOS,
98+
): const IndentSelectionIntent(true),
99+
SingleActivator(
100+
LogicalKeyboardKey.keyM,
101+
control: !_isDesktopMacOS,
102+
meta: _isDesktopMacOS,
103+
shift: true,
104+
): const IndentSelectionIntent(false),
122105

123106
// Headers
124-
if (actionConfiguration.enableApplyHeaderIntent)
125-
SingleActivator(
126-
LogicalKeyboardKey.digit1,
127-
control: !_isDesktopMacOS,
128-
meta: _isDesktopMacOS,
129-
): const QuillEditorApplyHeaderIntent(Attribute.h1),
130-
if (actionConfiguration.enableApplyHeaderIntent)
131-
SingleActivator(
132-
LogicalKeyboardKey.digit2,
133-
control: !_isDesktopMacOS,
134-
meta: _isDesktopMacOS,
135-
): const QuillEditorApplyHeaderIntent(Attribute.h2),
136-
if (actionConfiguration.enableApplyHeaderIntent)
137-
SingleActivator(
138-
LogicalKeyboardKey.digit3,
139-
control: !_isDesktopMacOS,
140-
meta: _isDesktopMacOS,
141-
): const QuillEditorApplyHeaderIntent(Attribute.h3),
142-
if (actionConfiguration.enableApplyHeaderIntent)
143-
SingleActivator(
144-
LogicalKeyboardKey.digit4,
145-
control: !_isDesktopMacOS,
146-
meta: _isDesktopMacOS,
147-
): const QuillEditorApplyHeaderIntent(Attribute.h4),
148-
if (actionConfiguration.enableApplyHeaderIntent)
149-
SingleActivator(
150-
LogicalKeyboardKey.digit5,
151-
control: !_isDesktopMacOS,
152-
meta: _isDesktopMacOS,
153-
): const QuillEditorApplyHeaderIntent(Attribute.h5),
154-
if (actionConfiguration.enableApplyHeaderIntent)
155-
SingleActivator(
156-
LogicalKeyboardKey.digit6,
157-
control: !_isDesktopMacOS,
158-
meta: _isDesktopMacOS,
159-
): const QuillEditorApplyHeaderIntent(Attribute.h6),
160-
if (actionConfiguration.enableApplyHeaderIntent)
161-
SingleActivator(
162-
LogicalKeyboardKey.digit0,
163-
control: !_isDesktopMacOS,
164-
meta: _isDesktopMacOS,
165-
): const QuillEditorApplyHeaderIntent(Attribute.header),
107+
SingleActivator(
108+
LogicalKeyboardKey.digit1,
109+
control: !_isDesktopMacOS,
110+
meta: _isDesktopMacOS,
111+
): const QuillEditorApplyHeaderIntent(Attribute.h1),
112+
SingleActivator(
113+
LogicalKeyboardKey.digit2,
114+
control: !_isDesktopMacOS,
115+
meta: _isDesktopMacOS,
116+
): const QuillEditorApplyHeaderIntent(Attribute.h2),
117+
SingleActivator(
118+
LogicalKeyboardKey.digit3,
119+
control: !_isDesktopMacOS,
120+
meta: _isDesktopMacOS,
121+
): const QuillEditorApplyHeaderIntent(Attribute.h3),
122+
SingleActivator(
123+
LogicalKeyboardKey.digit4,
124+
control: !_isDesktopMacOS,
125+
meta: _isDesktopMacOS,
126+
): const QuillEditorApplyHeaderIntent(Attribute.h4),
127+
SingleActivator(
128+
LogicalKeyboardKey.digit5,
129+
control: !_isDesktopMacOS,
130+
meta: _isDesktopMacOS,
131+
): const QuillEditorApplyHeaderIntent(Attribute.h5),
132+
SingleActivator(
133+
LogicalKeyboardKey.digit6,
134+
control: !_isDesktopMacOS,
135+
meta: _isDesktopMacOS,
136+
): const QuillEditorApplyHeaderIntent(Attribute.h6),
137+
SingleActivator(
138+
LogicalKeyboardKey.digit0,
139+
control: !_isDesktopMacOS,
140+
meta: _isDesktopMacOS,
141+
): const QuillEditorApplyHeaderIntent(Attribute.header),
142+
166143
SingleActivator(
167144
LogicalKeyboardKey.keyG,
168145
control: !_isDesktopMacOS,
169146
meta: _isDesktopMacOS,
170147
): const QuillEditorInsertEmbedIntent(Attribute.image),
171148

172-
if (actionConfiguration.enableOpenSearchIntent)
173-
SingleActivator(
174-
LogicalKeyboardKey.keyF,
175-
control: !_isDesktopMacOS,
176-
meta: _isDesktopMacOS,
177-
): const OpenSearchIntent(),
149+
SingleActivator(
150+
LogicalKeyboardKey.keyF,
151+
control: !_isDesktopMacOS,
152+
meta: _isDesktopMacOS,
153+
): const OpenSearchIntent(),
178154

179155
// Arrow key scrolling
180-
if (actionConfiguration.enableScrollIntent)
181-
SingleActivator(
182-
LogicalKeyboardKey.arrowUp,
183-
control: !_isDesktopMacOS,
184-
meta: _isDesktopMacOS,
185-
): const ScrollIntent(direction: AxisDirection.up),
186-
if (actionConfiguration.enableScrollIntent)
187-
SingleActivator(
188-
LogicalKeyboardKey.arrowDown,
189-
control: !_isDesktopMacOS,
190-
meta: _isDesktopMacOS,
191-
): const ScrollIntent(direction: AxisDirection.down),
192-
if (actionConfiguration.enableScrollIntent)
193-
SingleActivator(
194-
LogicalKeyboardKey.pageUp,
195-
control: !_isDesktopMacOS,
196-
meta: _isDesktopMacOS,
197-
): const ScrollIntent(
198-
direction: AxisDirection.up, type: ScrollIncrementType.page),
199-
if (actionConfiguration.enableScrollIntent)
200-
SingleActivator(
201-
LogicalKeyboardKey.pageDown,
202-
control: !_isDesktopMacOS,
203-
meta: _isDesktopMacOS,
204-
): const ScrollIntent(
205-
direction: AxisDirection.down, type: ScrollIncrementType.page),
156+
SingleActivator(
157+
LogicalKeyboardKey.arrowUp,
158+
control: !_isDesktopMacOS,
159+
meta: _isDesktopMacOS,
160+
): const ScrollIntent(direction: AxisDirection.up),
161+
SingleActivator(
162+
LogicalKeyboardKey.arrowDown,
163+
control: !_isDesktopMacOS,
164+
meta: _isDesktopMacOS,
165+
): const ScrollIntent(direction: AxisDirection.down),
166+
SingleActivator(
167+
LogicalKeyboardKey.pageUp,
168+
control: !_isDesktopMacOS,
169+
meta: _isDesktopMacOS,
170+
): const ScrollIntent(
171+
direction: AxisDirection.up, type: ScrollIncrementType.page),
172+
SingleActivator(
173+
LogicalKeyboardKey.pageDown,
174+
control: !_isDesktopMacOS,
175+
meta: _isDesktopMacOS,
176+
): const ScrollIntent(
177+
direction: AxisDirection.down, type: ScrollIncrementType.page),
206178
};
207179
}

lib/src/editor/raw_editor/keyboard_shortcuts/editor_keyboard_shortcut_actions_manager.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,9 @@ class EditorKeyboardShortcutsActionsManager {
179179
QuillEditorUpdateTextSelectionAction<
180180
ExtendSelectionToDocumentBoundaryIntent>(
181181
rawEditorState, true, _documentBoundary)),
182+
if (_actionConfig.enableExpandSelectionToDocumentBoundaryIntent)
183+
ExpandSelectionToDocumentBoundaryIntent: _makeOverridable(
184+
ExpandSelectionToDocumentBoundaryAction(rawEditorState)),
182185

183186
if (_actionConfig
184187
.enableExtendSelectionToNextWordBoundaryOrCaretLocationIntent)

lib/src/editor/raw_editor/keyboard_shortcuts/editor_keyboard_shortcuts.dart

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ class EditorKeyboardShortcuts extends StatelessWidget {
2929
required this.enableAlwaysIndentOnTab,
3030
required this.characterEvents,
3131
required this.spaceEvents,
32-
required this.actionConfiguration,
3332
this.onKeyPressed,
3433
this.customShortcuts,
3534
this.customActions,
@@ -49,7 +48,6 @@ class EditorKeyboardShortcuts extends StatelessWidget {
4948
final BoxConstraints constraints;
5049
final FocusNode focusNode;
5150
final Widget child;
52-
final QuillActionConfiguration actionConfiguration;
5351

5452
@override
5553
Widget build(BuildContext context) {
@@ -59,7 +57,7 @@ class EditorKeyboardShortcuts extends StatelessWidget {
5957
/// priority when activation triggers are the same
6058
shortcuts: mergeMaps<ShortcutActivator, Intent>(
6159
{...?customShortcuts},
62-
{...defaultSinlgeActivatorIntents(actionConfiguration)},
60+
{...defaultSinlgeActivatorIntents()},
6361
),
6462
child: Actions(
6563
actions: mergeMaps<Type, Action<Intent>>(

0 commit comments

Comments
 (0)