Skip to content

Commit 70512c7

Browse files
Updated code readability with getter shouldUseClipboardMonitor
1 parent 05215b3 commit 70512c7

File tree

1 file changed

+16
-14
lines changed

1 file changed

+16
-14
lines changed

lib/src/toolbar/buttons/clipboard_button.dart

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -104,16 +104,15 @@ class QuillToolbarClipboardButtonState
104104
}
105105
// The controller didn't change, but enableClipboardPaste did.
106106
else if (widget.clipboardAction == ClipboardAction.paste) {
107-
// Check if the clipboard monitor is active and enable it if not.
108-
if (widget.options.enableClipboardPaste == null) {
109-
if (!(_monitor._timer?.isActive ?? false)) {
110-
_monitor.monitorClipboard(true, _listenClipboardStatus);
111-
}
112-
} else {
113-
// Otherwise check if the timer is active and disable it.
114-
if (_monitor._timer == null || _monitor._timer!.isActive) {
115-
_monitor.monitorClipboard(false, _listenClipboardStatus);
116-
}
107+
final isTimerActive = _monitor._timer?.isActive ?? false;
108+
109+
// Enable clipboard monitoring if not active and should be monitored.
110+
if (shouldUseClipboardMonitor && !isTimerActive) {
111+
_monitor.monitorClipboard(true, _listenClipboardStatus);
112+
}
113+
// Disable clipboard monitoring if active and should not be monitored.
114+
else if (!shouldUseClipboardMonitor && isTimerActive) {
115+
_monitor.monitorClipboard(false, _listenClipboardStatus);
117116
}
118117

119118
currentValue = currentStateValue;
@@ -122,16 +121,14 @@ class QuillToolbarClipboardButtonState
122121

123122
@override
124123
void addExtraListener() {
125-
if (widget.clipboardAction == ClipboardAction.paste &&
126-
widget.options.enableClipboardPaste == null) {
124+
if (shouldUseClipboardMonitor) {
127125
_monitor.monitorClipboard(true, _listenClipboardStatus);
128126
}
129127
}
130128

131129
@override
132130
void removeExtraListener(covariant QuillToolbarClipboardButton oldWidget) {
133-
if (widget.clipboardAction == ClipboardAction.paste &&
134-
widget.options.enableClipboardPaste == null) {
131+
if (shouldUseClipboardMonitor) {
135132
_monitor.monitorClipboard(false, _listenClipboardStatus);
136133
}
137134
}
@@ -150,6 +147,11 @@ class QuillToolbarClipboardButtonState
150147
ClipboardAction.paste => Icons.paste_outlined,
151148
};
152149

150+
bool get shouldUseClipboardMonitor {
151+
return widget.clipboardAction == ClipboardAction.paste &&
152+
widget.options.enableClipboardPaste == null;
153+
}
154+
153155
void _onPressed() {
154156
switch (widget.clipboardAction) {
155157
case ClipboardAction.cut:

0 commit comments

Comments
 (0)